• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

custom hook useInput 사용에서 질문 있습니다..!

20.08.05 23:46 작성 조회수 130

0

안녕하세요 제로초님. 강의 잘 보고 있습니다..!

이번에 customHook을 사용하는 예제를 실행 했을 때,

export default (initialValue = null) => {
    const [value, setValue] = useState(initialValue);
    const handler = useCallback(
        (e) => {
            setValue(e.target.value);
        }, []);
    return [value, handler];
}

를 사용 할 경우 next에서 warning을 하는데요, 내용은

Anonymous arrow functions cause Fast Refresh to not preserve local component state.

Please add a name to your function, for example:

Before

export default () => <div />;

After

const Named = () => <div />;
export default Named;

입니다.

여기 warning에 나온대로 useInput.js의 내용을

const useInput = (initialValue = null) => {
    const [value, setValue] = useState(initialValue);
    const handler = useCallback(
        (e) => {
            setValue(e.target.value);
        }, []);
    return [value, handler];
}


export default useInput;

으로 수정해서 사용은 하고 있지만,  이 이슈, 익명 화살표 함수를 사용했을 때 왜 Fast Refresh가 되고, local component state를 왜 preserve 하지 못하는지 궁금해서 질문 드립니다...!

next버전은 9.5.1을 사용하고 있습니다..!

답변 1

답변을 작성해보세요.

3

next가 함수의 이름을 사용해서 기존 값을 저장하고 있다가 핫리로딩을 할 때에도 함수의 이름을 통해 기존값을 불러와서 그렇습니다~