본문 바로가기
카테고리 없음

Recoil

by LucetTin5 2022. 8. 25.

State Management Library Recoil [https://recoiljs.org/ko/]

 

state management tool을 이용하는 이유

 - props가 이용되지 않는 components에서 불필요하게 prop을 받아 전해줘야 한다. (Traveling prop problem)

 - 그에 따라 수정 소요 발생 시 오류가 발생할 가능성이 높은 등의 문제가 발생할 수 있다.

 

다른 State management tools? 

React 자체가 가지고 있는 Context, Redux 등이 존재함.

 

Recoil의 state 저장은 atom이라 부름

 

- root를 RecoilRoot로 감싸주어야 한다

- atom을 생성하고 보관하는 파일을 만드는 편이 좋다.

 

atom의 생성

// atom의 생성 방법

export isDarkAtom = atom({
	key: "유일한 키 이름",
    default: "기본 value"
});

// atom을 불러서 이용하는 방법

const isDark = useRecoilValue(isDarkAtom);

// atom의 value를 수정하는 방법
// atom의 setter function은 useState의 setState와 유사하게 작동한다.

const setterFn = useSetRecoilState(isDarkAtom);
// new state를 부여
setterFn((prevState) => newState);