[항해99] TIL
60일차 (Recoil 사용방법 기초 2)
@kkkk_biiin
2023. 11. 4. 01:17
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