horizontal-library / functional-programming-in-javascript

함수형 자바스크립트 스터디
1 stars 0 forks source link

[additional] React `useEffect`에 대한 고찰 #20

Open ABizCho opened 1 year ago

ABizCho commented 1 year ago

연관 챕터

{연관 issue 번호}

조사 내용

leejaeseung commented 1 year ago

예전에 useEffect 에 대해 찾아본 내용을 공유합니다.

useEffect 훅을 잘 사용하는 법

useEffect 훅을 사용할 때 주의할 점을 포스팅한 글입니다.

https://blog.logrocket.com/guide-to-react-useeffect-hook/

The key concepts of using effects

너무 많은 훅은 코드를 망친다. - 훅이 나쁜 이유

https://leocode.com/development/why-hooks-are-bad/

Let’s imagine that hooks are connected with each other – The `useEffect` hook reacts on search field change, changes the debounced-state of the filter (hook) and that triggers the search fetch hook.
The downloaded data triggers the change state on two state hooks (data and loading state), which then trigger other hooks to operate, and everything can trigger rerenders at any point.
This is not such an uncommon situation, yet it’s unnecessarily hard to go through using only dependencies as reference for code logic.

훅들이 서로 연결되어 있는 경우를 생각해보자. - useEffect 훅은 검색 필드가 변경되면 반응해 필터 state 그룹을 변경시키고 검색 fetch 훅을 트리거한다.

다운로드받은 데이터는 두 개의 훅(data, loading state)을 트리거한다. 그리고 다른 훅을 트리거하고, 모든 것이 어디서든 리렌더링되게끔 트리거할 수 있다. (암튼 트리거가 꼬인다.)

이것은 드문 상황이 아니지만, 코드 로직에 대한 종속성만을 사용하는 것은 불필요하게 어렵습니다. (종속성을 작게 가져가면 꼬이지 않겠지만 그러기 힘들다..?)