recoil

2023. 7. 5. 17:18· TIL
목차
  1. Recoil
  2. Recoil 설치
  3. Recoil 세팅
  4. Recoil 사용

Recoil

프론트에서 자체적으로 생성되는 데이터는 어디다 넣어두냐! 라고 했을때 몇가지 방안들이 있지만, 그중에 recoil 이라는 라이브러리를 사용해보자

프론트에서 관리하는 데이터라고 해봤자 많은 부분을 차지하지 않을 텐데 리덕스를 사용하기에는 너무 헤비하기 때문에 recoil을 사용할 것이다

Recoil 설치

  1. npm 사용자 : 터미널에 npm install recoil 을 입력
  2. yarn 사용자 : 터미널에 yarn add recoil 을 입력

Recoil 세팅

//app.tsx 파일 
import {
  RecoilRoot,
  atom,
  selector,
  useRecoilState,
  useRecoilValue,
} from 'recoil';

function App() {
  return (
    <RecoilRoot>
        //RecoilRoot로 모든 컴포넌트를 묶어주세요
      <Component />
    </RecoilRoot>
  );
}

Recoil 사용

Recoil에서는 Atom으로 state의 일부를 보여준다

그리고 컴포넌트들은 자신이 필요한 Atom을 참조하고 있다. 따라서 자신이 참조하고 있는 Atom에 변화가 있으면,해당 atom을 참조하는 모든 컴포넌트에서 리렌더링이 일어난다

// Atom
const textState = atom({
  key: 'textState', // state의 이름
  default: '', //초기값
});

위의 아톰을 실제로 사용하기 위해선 useRecoilState를 사용해야한다

useState를 import 하는 것 처럼 useRecoilState를 import한다

// TextInput 컴포넌트 
function TextInput() {
  const [text, setText] = useRecoilState(textState);

  const onChange = (event) => {
    setText(event.target.value);
  };

  return (
    <div>
      <input type="text" value={text} onChange={onChange} />
      <br />
      Echo: {text}
    </div>
  );
}

위와같이 사용하게 되면, textState를 참조하고 있는 모든 컴포넌트에서 재렌더가 일어난다

저작자표시 (새창열림)

'TIL' 카테고리의 다른 글

카카오 지도 연동  (0) 2023.07.22
로그인 처리  (0) 2023.07.05
global state  (0) 2023.07.05
검색 기능 구현  (0) 2023.07.04
230629  (0) 2023.06.29
  1. Recoil
  2. Recoil 설치
  3. Recoil 세팅
  4. Recoil 사용
'TIL' 카테고리의 다른 글
  • 카카오 지도 연동
  • 로그인 처리
  • global state
  • 검색 기능 구현
nana-log
nana-log
포스팅이 좋았다면 "❤️공감" 눌러주세요!
nana-log
nana-log
nana-log
전체
오늘
어제
  • 분류 전체보기 (104)
    • TIL (26)
    • project (7)
    • algorithm (18)
    • information processing (30)
    • etc (19)

인기 글

태그

  • docker
  • JS
  • dev-tools
  • 자바스크립트
  • 회고
  • 원티드프리온보딩
  • 알고리즘

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
nana-log
recoil
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.