[React] 부모 컴포넌트로부터 props를 통해 전달되었습니까? 그렇다면, 그것은 state가 아닙니다.

이썸이·2024년 5월 15일

Is it passed in from a parent via props? If so, it isn’t state.

문제 상황

  • props로 받아온 title, description을 input 초깃값으로 넣어주고 싶었음 → 정상동작하지 않음(당연함)

시도해 본 것들

  1. props로 변화된 값이 잘 들어오는 지 확인

    👉 title, description이 변화되어 들어오고 있음을 확인

해결 방안

  • props의 변화에 따라 title, description이 변화할 수 있도록 useEffect 사용

🤔 왜 이런 문제가 생긴걸까?

  • state의 변화는 dispatch에 의해서만 일어나기 때문에 별도의 dispatch가 없다면 initialState를 계속 기억하고 있게 됨
  • 어떤 값의 변화에 따라 수행해야 할 동작은 useEffect 안에서 해주면 되기 때문에 dependencies로 props를 넣어주면 됨
  • 추가적으로, 위 예시코드에서는 props 모두를 넣었지만.. 원래는 실제로 영향을 주는 props.targetContent 를 넣어주는 게 좋아 보임

0개의 댓글