강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

seokki kwon님의 프로필 이미지
seokki kwon

작성한 질문수

배달앱 클론코딩 [with React Native]

주문 수락, 거절 버튼 만들기

강사님 질문있습니다

작성

·

174

0

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

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

 

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

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

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

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

 

퀴즈

56%나 틀려요. 한번 도전해보세요!

앱을 완전히 껐다가 다시 켰을 때 사용자의 로그인 상태를 유지하기 위해 일반적으로 어떤 방법을 사용하나요?

앱 종료 시 사용자 정보를 삭제한다

보안 저장소에 저장된 토큰을 활용한다

로그아웃 API를 자동으로 호출한다

사용자에게 매번 아이디/비밀번호를 재입력받는다

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

seokki kwon님의 프로필 이미지
seokki kwon
질문자

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

 

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

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

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

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

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

seokki kwon님의 프로필 이미지
seokki kwon
질문자

감사합니다😁😁😁

seokki kwon님의 프로필 이미지
seokki kwon

작성한 질문수

질문하기