[TIL]2022.05.09

진경·2022년 5월 9일
1

TIL

목록 보기
7/29

recoil

페이스북이 만든 리액트를 리액트답게하는 상태관리 라이브러리
상태관리?
상태(State)는 component 안에서 관리되는 것이다.
원래는 자식 컴포넌트끼리는 다이렉트로 데이터 전달이 불가능하다.상태관리는 전역(global)상태 저장소를 만들어 상태의Component 간의 정보 공유를 쉽게 할 수 있도록 해준다.

Atom

Atoms는 Recoil 상태의 단위를 의미한다. 또한 state가 다른 컴포넌트와 공유되며 업데이트 가능하다. Atom이 렌더링되면 구독하던 다른 컴포넌트들도 모두 리렌더링한다.

Recoil의 atom() 메서드를 통해 변수에 할당

hooks

  • useRecoilState() : useState() 와 유사하다. [state, setState] 튜플에 할당하며, 인자에 Atoms(혹은 Selector)를 넣어준다.

  • useRecoilValue() : 전역상태의 state 상태값만을 참조하기 위해 사용된다. 선언된 변수에 할당하여 사용하면 된다.

  • useSetRecoilState() : 전역상태의 setter 함수만을 활용하기 위해 사용된다. 선언된 함수변수에 할당하여 사용하면 된다.

  • useResetRecoilState() : 전역상태를 default(초기값)으로 Reset 하기 위해 사용된다. 선언된 함수변수에 할당하여 사용하면 된다.

selector

atom 혹은 다른 Selector 상태를 입력받아 동적인 데이터를 반환하는 순수함수(Pure Function)
상태값에서 비롯된 파생된 데이터를 만들 때 사용되며, atom처럼 컴포넌트가 이를 구독할 수 있다.

profile
프론트엔드 취준생입니다

0개의 댓글