인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

Inflearn Community Q&A

kwons416334797's profile image
kwons416334797

asked

Delivery App Clone Coding [with React Native]

Create order accept and decline buttons

강사님 질문있습니다

Written on

·

165

0

강의 잘보고 있습니다 강사님

리액트 네이티브 보다는 리액트 질문인데

 

 const [detail, setDetail] = useState<boolean>(false); 
  const toggleDetail = useCallback(() => {
    setDetail(!detail); 
  }, [detail]);

해당 부분에서 의존배열을 빈배열로 하면 토글이 안되는이유가

useCallback 에 빈배열을 넣었을때 toggleDetail 함수가 기억하는 detail은 false 라서 계속 눌러도 토글 기능을 하지못하는 것이고 의존배열에 detail 에 넣어줘야 정상작동을 하는데

제가 생각한게 맞는건가요?

 

react-native

Answer 1

0

zerocho님의 프로필 이미지
zerocho
Instructor

네 맞습니다. toggle이 true랑 false로 바뀌더라도 []안에 들어있지않으면 useCallback에서는 바뀐 걸 인식을 못 합니다.

kwons416334797님의 프로필 이미지
kwons416334797
Questioner

늦은시간에... 감사합니다!!

 

바뀐 state는 인지를 못하지만 콘솔은 여전히 찍혀서

이부분을 여태 조금 잘못알고 있던것 같습니다

죄송하지만 하나더 여쭤보자면

바뀐값은 감지를 못하지만 호출은 됨 useCallback에 빈배열일 경우 호출을 안한다기 보다는 참조값을 그대로 가지고 있다 라고 이해를 하면될까요?

zerocho님의 프로필 이미지
zerocho
Instructor

네 맞습니다. 첫 값이 유지됩니다.

kwons416334797님의 프로필 이미지
kwons416334797
Questioner

감사합니다😁😁😁

kwons416334797's profile image
kwons416334797

asked

Ask a question