본문 바로가기

공부기록

공부기록, 2021-08-03(recoil 사용예제)

- recoil 사용예제
- recoil count Atom 세팅
```
import { atom } from 'recoil';


export const countState = atom({
key: 'countState', // 해당 atom의 고유 key
default: 0, // 기본값
});
```

- count 를 보여주고 변경하는 컴포넌트 작용
```
import { useRecoilState, useSetRecoilState, useResetRecoilState } from 'recoil';
import { countState } from '../../recoil/count';

function ReadWriteCount() {
const [ count, setCount ] = useRecoilState(countState); // useRecoilState 을 통한 value, setter 반환
const setCountUseSetRecoilState = useSetRecoilState(countState); // 값을 변경하는 함수만 반환
const resetCount = useResetRecoilState(countState); // 설정된 기본값으로 리셋
return (

 

읽기 쓰기 카운트 컴포넌트

 

카운트 {count}


setCount(count + 1)}>숫자 증가
setCount(count - 1)}>숫자 감소
setCountUseSetRecoilState(count + 1)}>숫자 증가 (useSetRecoilState 사용)
setCountUseSetRecoilState(count - 1)}>숫자 감소 (useSetRecoilState 사용)
카운트 리셋


);
}

export default ReadWriteCount;

```
- count를 보여주기만 하는 컴포넌트 작성
```
// atom 을 읽기만 하는 컴포넌트
import { useRecoilValue } from 'recoil';
import { countState } from '../../recoil/count';

function ReadOnlyCount() {
const count = useRecoilValue(countState); // 구독하는 atom 의 값만 반환

return (

 

읽기 전용 컴포넌트

 

카운트 {count}


);
}

export default ReadOnlyCount;
```