개발 잘해지는 닉네임
298
2021-03-08 11:08:08
1
116

왜 useState는 콜백을 지원하지 않을까요?


리액트에서 setState는 콜백함수를 제공하는데, 왜 useState는 콜백함수를 제공하지 않을까요?

useEffect를 통한 간접적인 callback의 사용이 가능은 하지만, 진짜 callback을 사용하는 편이 코드가 더 깔끔해지는 경우가 여럿 있는거 같습니다. 그럼에도 이를 지원하지 않는 이유가 무엇일까요?

(callback을 이용하는게 더 깔끔한 예: state를 갱신하고 상황에따라 후속처리를 해야하는 경우. 예를들어 처음 state갱신때는 그냥 값만 넣고, 이후 갱신부터는 스크롤위치를 조정하는 행위)

그리고 커스텀훅으로 콜백을 지원하는 useState를 만들어 사용하는것이 가능한데, 이렇게 하는 행위가 좋은 코드를 만드는 관점에서 타당한 행동일까요?


0
  • 답변 1

  • 두꺼비개발자
    796
    2021-03-08 17:55:46

    음.. 역할을 분리하기 위해 그렇게 개발하지 않았을까요?

    useState는 getter와 setter를 관리

    원하시는 callback 개념은 useEffect로 관리...

  • 로그인을 하시면 답변을 등록할 수 있습니다.