Skip to content

Button onClick에 useCallback 기본으로 해뒀다가 피본점

Park Sang Shin edited this page Jan 20, 2021 · 2 revisions
function Button({onclick}) {
   const newOnclick = useCallback(onclick, []);
   return (
       <button onClick={newOnclick}/>
   )
}

이런 식으로 버튼 컴포넌트를 atom에 만들어 쓰고 있었다.

update와 delete할 때 recodeId를 onclick에 넣어서 쓰려고 했는데 아무리 recodeId를 바꿔도 바뀐 recodeId가 적용이 되지 않았다. 한참을 디버깅 하다가 이게 문제가 됐다는 걸 알았다. Button에 쓰이는 callback함수는 항상 정적이라고 생각했었는데 그렇지 않을 때가 있다는 걸 깨달았다.

Clone this wiki locally