React에서는 Side Effect는 Effect Hook을 통해서 관리한다.
useEffrct의 첫번째 인자는 side effect가 일어날때 실행시키고 싶은 함수를 입력한다.
두번째 인자는 첫번째 인자에서 실행 시키고자 했던 함수를 내가 원하는 때에 실행하고 싶을때를 넣어주는 조건이 담긴 배열이다. 이 배열은 종속성 배열이라고 부른다.
useEffect(함수, [종속성1, 종속성2, ...])
useEffect(함수, [])
useEffect(함수)
useEffect를 이용하면 더미데이터 대신 fetch API를 이용해 데이터를 가져올 수 있다.
useEffect(() => {
fetch(`http://서버주소/proverbs?q=${filter}`)
.then(resp => resp.json())
.then(result => {
setProverbs(result); // fetch를 이용해 서버에서 데이터를 가져와 setProverbs라는 함수의 매개변수로 넣어 사용할 수 있다.
}, [filter]);