- 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;
```
'공부기록' 카테고리의 다른 글
공부기록, 2021-08-06(react Redux Persist) (0) | 2021.08.06 |
---|---|
공부기록, 2021-08-05(react localstorage) (0) | 2021.08.05 |
공부기록, 2021-08-02(recoil기본세팅) (0) | 2021.08.02 |
공부기록, 2021-07-30(react) (0) | 2021.07.30 |
공부기록, 2021-07-29(react) (0) | 2021.07.29 |