컴포넌트 내부에서 사용하는 상태
useState, useReducer
앱 전체에 공유하는 상태. drilling 문제 해결
recoil, zustand, zotai …
외부 서버에 저장해야 하는 상태
UI 상태와 결합하여 관리하게되며, 로딩 및 에러등을 포함
tanstack-query
상태를 정의할때 고려해야할 2가지
시간이 지나도 변하지 않는다면 상태가 아니다
시간이 지나도 변하지 않는 값이라면, 객체 참조 동일성을 유지하는 방법
const Component: React.VFC = () => {
const store = new Store();
return (
<StoreProvider store={store}>
<Children/>
</StoreProvider>
);
};
객체의 참조 동일성을 유지하기 위해 사용하는 방식에는 메모이제이션