728x90
Selector set 메서드
이전 글에서 Recoil의 atom과 Selector의 get 메서드를 알아보았다면, 이번 글에서는 set 메서드를 알아보고자 한다. set 메서드의 사용법은 get 메서드와 매우 유사하며, Selector 내부에서 선언한다.
import { atom, selector } from 'recoil';
// atom
export const textState = atom({
key: 'textState', // 고유한 ID
default: '', // 기본값
});
// selector
export const Selector = selector({
key: 'Selector',
get: ({get}) => {
// textState의 현재 값을 가져와서 대문자로 변환
const text = get(textState);
return text.toUpperCase();
},
set: ({set}, newValue) => {
// 사용자가 입력한 새로운 값을 대문자로 변환하여 textState atom에 저장
set(textState, newValue.toUpperCase());
},
});
get 메서드는 atom의 값을 어떠한 값으로 변경시킨 뒤, 읽기만 가능했다면, set 메서드는 atom 값을 변경시킨 뒤 유지까지 할 수 있는 메서드이다. 하지만 useRecoilState를 사용하면 atom의 자체적인 set 메서드를 통해서 state를 수정할 수 있기 때문에 복잡한 로직이 아니라면 selector의 set 메서드를 사용하는 것은 불필요하다고 생각된다.
728x90
'[항해99] TIL' 카테고리의 다른 글
62일차 (Array List와 Linked List) (1) | 2023.11.10 |
---|---|
61일차 (리액트에서 자주 쓰이는 이벤트의 타입) (0) | 2023.11.08 |
59일차 (Recoil 사용방법 기초) (1) | 2023.11.03 |
57일차 (CS 39, 40, 41) (0) | 2023.11.01 |
56일차 (CS 37, 38) (0) | 2023.10.31 |