프론트엔드 첫걸음

[문제해결] 중괄호와 괄호 헷갈리지 않게 잘 쓰기 본문

개발 공부/React

[문제해결] 중괄호와 괄호 헷갈리지 않게 잘 쓰기

차정 2022. 8. 30. 18:09

() => { return } 의 생략은 () => 이다.

옳은 코드

<MyContext.Consumer>
  {value =>  <div>{value.color}</div>                            
  }
</MyContext.Consumer>

잘못된 코드

<MyContext.Consumer>
  {value => {
      <div>{value.color}</div>
    }
  }
</MyContext.Consumer>

immer의 produce 함수는 return 반환하지 않는 void 함수이다.

옳은 코드

 const onChange = useCallback(
    (e) => {
      const { name, value } = e.target;
      setForm(
          //immer+useState함수형 업데이트
          produce((form) => {    
             form[name] = value;
          })
      );
    },
   //  [form]
    []   //상태 form대신 함수받으니까 의존성배열에 form 넣을 필요 없음 
  );

잘못된 코드

 const onChange = useCallback(
    (e) => {
      const { name, value } = e.target;
      setForm(
          //immer+useState함수형 업데이트
          produce((form) => form[name] = value;)
      );
    },
   //  [form]
    []   //상태 form대신 함수받으니까 의존성배열에 form 넣을 필요 없음 
  );

https://immerjs.github.io/immer/return/

https://stackoverflow.com/questions/60806105/error-an-immer-producer-returned-a-new-value-and-modified-its-draft-either-r

https://velog.io/@yhe228/react에서-typescript-사용하기

'개발 공부 > React' 카테고리의 다른 글

[Redux Toolkit Tutorial] Cake shop Scenario  (0) 2022.09.01
Redux Toolkit 이해하기 - vanila javascript에서 써보기  (0) 2022.08.31
ContextAPI  (0) 2022.08.30
immer 사용법  (0) 2022.08.29
불변성을 지키면서 setState  (0) 2022.08.28