props,state / 단방향 데이터 바인딩으로 인한 props drilling 의 문제 → 전역 상태 관리 필요함
prop drilling : props로 데이터 쭉 전달하는 것 , 데이터를 전달하는 과정에서 중간 컴포넌트는 그 데이터가 불필요함에도 자식 컴포넌트에 오직 “전달”하기 위해 props를 전달해야 하는 과정을 말함 → 프로젝트 규모가 커지면서 관리와 추적이 어렵게 되어, 전역으로 관리한다.
recoil의 사용방법은 useState와 거의 동일하다. useState는 local, recoil은 global로 생각하면 될듯
atom: recoil에서 상태를 정의하는 방법
export const isLoggedIn = atom<IsLoggedInType | null>({
key: 'user_state',
default: null,
});
const [user, setUser] = UseRecoilState(isLoggedIn)
const user = UseRecoilValue(isLoggedIn)
const setUser = UseSetRecoilState(isLoggedIn)