Context api, redux, mobx, swr.. 이름이 생소한데 통틀어서
Global state(전역상태관리) 라고한다
Global state
Global state(전역상태관리)란 컴포넌트에 넘겨줘야할 변수를 store에 저장하여 필요한 컴포넌트에서 가져다 사용하는 것을 말한다
전역으로 사용이 가능하니 공통으로 사용할 수 있는 state는 하나로 통일할 수 있으니 매우 편리한거같다
Context api
일반적으로 부모와 자식간 props를 날려 state를 변화시켰던 방식과는 달리
컴포넌트 간 간격이 없다.
즉, 컴포넌트를 건너뛰고 다른 컴포넌트에서 state, function을 사용할 수 있다
const aaa = React.creatContext(defaultValue)
Provider는 Context를 구독하는 컴포넌트에게 context의 변화를 알려주는 역할을 한다.
<aaa.Provider value = { this.state }>
<Comp1>
<Comp2>
</aaa.Provider>
context 변화를 구독한다.
<aaa.Consumer>
{value => context 값을 이용한 렌더링 }
</aaa.Consumer>
Redux
가장 많이 사용되는 상태 관리 라이브러리 중 하나이다
동일한 데이터는 항상 같은곳에서 가지고온다. 스토어라는 하나뿐인 데이터 공간이 존재
Mobx
모든 상태변화가 일어나는 부분을 자동으로 추적해준다
모델을 채우는 객체, 비객체, 원시, 참조의 그래프
Observable State의 변화에 따른 값, 특정값을 연산할 때에만 처리됨
Observable State의 변화에 따른 부가적인 변화, 값이 바뀜에 따라 해야 할 일을 정하는 것을 의미
Observable State가 사용자가 지정한 것을 포함한 모든 변경사항
SWR
데이터를 가져오기위한 React-hooks (stale-while-revalidate 에서 유래됨)