-
[React] useEffectJavaScript/React 2021. 5. 8. 10:30728x90
- 컴포넌트가 렌더링 될 때마다 사이드 이펙트를 실행시킬 수 있도록 해줌
const Counter = () => { const [count, setCount] = useState(0); useEffect(() => { console.log('Rendering'); console.log(`count: ${count}`) }) return ( <div className="Counter"> <button type="button" onClick={setCount(count + 1)}> + </button> <span> {count} </span> <button type="button" onClick={setCount(count - 1)}> - </button> </div> ); }
- 마운트될 때만 실행하려면 2번째 파라미터에 빈배열을 넣어주면됨
useEffect(() => { console.log('Rendering'); console.log(`count: ${count}`) }, [])
- 업데이트 될 때만 실행하려면 2번째 파라미터에 체크할 변수를 넣어주면됨
useEffect(() => { console.log('Rerendering'); console.log(`count: ${count}`) }, [count])
- rerending되기전에 특정 사이드 이펙트를 실행하려면 cleanup 함수를 반환
useEffect(() => { console.log('Render'); console.log(`count: ${count}`) return () => { console.log('cleanup'); } })
728x90'JavaScript > React' 카테고리의 다른 글
[React] CRA .env (0) 2021.09.21 [React] 절대경로 설정 (0) 2021.05.22 [React] Error: Maximum update depth ... 해결방법 (0) 2021.03.28 [React] eslint, prittier 적용 (0) 2021.03.07 [React.js] React.js (1) - 개발환경 설정 (0) 2019.12.30