Context API, useReducer Hook, constate library

개인의견 : 사용 형태가 리덕스와 크게 다르지 않은데, 굳이 리팩토링까지 해가면서 이렇게 쓸 이유가 있나 싶긴함. Recoil 정도로 상태관리 라이브러리를 갈아타는 큰 변화정도는 돼야 생각해볼만 할듯.
 
  • 중앙집중식이 아니라는 것 외에는 리듀서 만들어서 쓰는 것은 리덕스와 동일함. (useState를 써도 되지만, 상태가 조금만 복잡해져도 자연스래 useReducer를 쓰게 됨.)
 
 

리덕스 쓰지 말라고?

global state가 꼭 필요한 상황 외에도 그냥 무조건 redux를 쓰는 사람들을 위한 말.

constate 라이브러리

context API의 단점

  • 해당 context에 속해있는 값중 하나라도 바뀌면, 해당 context를 구독하고 있는 모든 컴포넌트가 리렌더링된다. ( 방금 바뀐 상태값을 쓰지 않았더라도..! )
  • 따라서 context를 최대한 잘게 쪼개서 사용할 필요가 있고, 상태를 사용하는 부분과 상태를 변경하는 부분도 나눠서 사용해야한다.
  • 이를 편하게 해주기 위한 라이브러리가 바로 constate임.
 
Context API 사용법
 
CombineProviders