공유 필요 확인
두세 단계 props 전달인지, 여러 갈래 하위 트리에서 같은 값을 읽어야 하는지 구분한다.
단순 전달은 composition이 더 선명할 수 있다Context API는 여러 컴포넌트가 같은 값을 읽게 해주지만, Provider value가 바뀌면 그 값을 읽는 하위 트리가 함께 다시 렌더링된다. 전역 저장소처럼 쓰기보다 어떤 값이 얼마나 자주 바뀌는지와 어느 범위가 구독해야 하는지를 먼저 정해야 한다.
두세 단계 props 전달인지, 여러 갈래 하위 트리에서 같은 값을 읽어야 하는지 구분한다.
단순 전달은 composition이 더 선명할 수 있다앱 전체, 레이아웃, 기능 영역 중 값이 실제 필요한 가장 좁은 위치에 둔다.
Provider가 넓을수록 영향 범위도 넓어진다state, dispatch, derived value를 한 객체에 섞을지 나눌지 결정한다.
자주 바뀌는 값과 거의 안 바뀌는 값을 분리한다객체와 함수 value는 useMemo, useCallback 또는 reducer dispatch로 불필요한 변경을 줄인다.
새 객체를 매 렌더 만들면 consumer도 흔들린다React DevTools Profiler로 Provider 변경 때 어떤 consumer가 다시 렌더링되는지 본다.
느린 화면은 context 자체보다 구독 범위에서 생긴다