렌더링 될 때마다 함수 새로 그려지는데 한 번 선언하고 계속 쓰면 안되는건가요:?
227
41 asked
함수가 새로 그려지는게 useCallback 콜백 매개변수로 특정 값이 바뀔때마다 함수가 새로그려지는걸로 알 고 있습니다. 근데 예전부터 궁금했는데 한 번 그려놓은 함수를 계속 사용하면 되는거아닌가요? 왜 특정 값이 바뀔때마다 useCallback을 해서 새로 그려야 되는건가요? 그냥 [] 빈 배열 값 넣고 시작, 끝일때 실행되게 하면 문법상 에러인가요?
Answer 2
2
const [name, setName] = useState('zerocho');
const onClick = useCallback(() => {
console.log(name);
}, []);
이렇게 빈 배열만 넣은 경우에는
setName('nero'); 로 name을 변경할 때
console.log(name)이 여전히 zerocho로 나오게 됩니다.
이것을 nero로 나오게 수정하려면
const onClick = useCallback(() => {
console.log(name);
}, [name]);
을 넣어야 합니다.
0
함수를 새로 그리지 않으면 state값이 업데이트가 되지 않는거군요... 그럼
const onClick = useCallback(() => {
console.log(name);
}, []);
은 영원히 'zerocho' 값이군요...
전 onClick 이벤트를 하는 버튼이 함수를 호출하면 값이 바뀔거라고 생각하고 한 번만 선언하면 되지 않나 생각했는데.. 잘못생각했었네요..
npm run dev 실행 시 포트가 안뜨는 문제
0
202
2
timeouts.current를 useEffect 의 input값으로 넣었을때
0
85
2
렌더링 테스트 코드 (Hooks)
0
80
1
Cannot find package 'react-refesh' 이런 에러 뜨시는 분들 보세요.
0
149
1
해당 에러 뜨는 분들 보세요. "Uncaught TypeError: ReactDom.createRoot is not a function"
1
191
1
강사님 레포지토리에서 코드 복사 시 master 브랜치 말고 react18 브랜치꺼 복붙하세요ㅠㅠ
0
95
1
useMemo와 useCallback 사용 시기
0
205
2
onRightClickTd가 작동을 하지 않습니다.
0
226
1
action.type 불러오는 방식
0
222
2
onClickRedo 질문
0
172
1
const Try = require(./Try) 빨간줄
0
248
1
npx webpack 실행시
0
313
1
지뢰찾기 강좌에서 빈칸들 한번에 열기 파트에서 여쭤보고싶은부분이 있어서 글 올립니다.
0
234
1
강좌에서 다루지 않은 기능들은 어떻게 학습하면 좋을까요?
0
311
1
react devtool이 enable 않됩니다.
0
530
2
React 랜더링이 되지 않습니다.
0
409
2
비동기로 동작하는 setState에 대해서
0
331
1
npm run dev 할 때 에러발생
0
478
2
memo, PureComponenet, shouldComponentUpdate 관련 질문
0
206
1
devMiddleware의 필요성
0
352
1
리액트에서 화살표 함수를 사용해야하는 이유
0
931
2
path.join관련질문
0
280
2
2-9. 웹팩 데브 서버와 핫 리로딩 설치과정 시 에러
0
371
1
next.js 에서 이와 비슷한 예제를 돌리고있는데 react랑 달라서 질문 드립니
1
488
4

