12.1.5 useState의 함수형 업데이트와 immer 함께 쓰기

    11장에서 useState의 함수형 업데이트에 대해 알아보았습니다.

    예시 코드

    const [number, setNumber] = useState(0);
    // prevNumbers 현재 number 값을 가리킵니다.
    const onIncrease = useCallback(
      () => setNumber(prevNumber => prevNumber + 1),
      [],
    );

     

    immer에서 제공하는 produce 함수를 호출할 때, 첫 번째 파라미터가 함수 형태라면 업데이트 함수를 반환합니다.

    예시 코드

    const update = (draft => {
      draft.value = 2;
    });
    const originalState = {
      value: 1,
      foo: 'bar',
    };
    const nextState = update(originalState);
    console.log(nextState); // { value: 2, foo: 'bar' }

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.