프론트엔드/react
useCallback
STUFIT
2022. 10. 23. 20:42
반응형
부모 컴포넌트에서 자식컴포넌트에 props 로 내려준다면 함수를 포함하고 있는 컴포넌트가 rerendering 될 때마다 자식 컴포넌트도 함수가 새롭게 만들어져서 계속해서 re-rendering 하게 된다.
이렇게 리렌더링 현상을 없애주기 위해 useCallback 함수를 사용한다.
const handleClick = useCallback((id) => {
let newTodoData = todaData.filter((data)=> data.id !== id);
setTodoData(newTodoData);
localStorage.setItem("할일앱", JSON.stringify(newTodoData));
}, [todoData]
)
위의 코드에서 useCallback으로 인해 todoData가 변하지 않는다면 새로운 함수를 생성하지 않게 되므로 리렌더링 현상이 사라지게 된다.
반응형