Atom은 상태단위 RecoilState입니다.
간단하게 사용법을 알아보자면, 사용방법은 아주 쉽습니다.
key, default 설정만 하면 끝입니다.
const todoListState = atom({ key: 'TodoList', default: [], }); ... // useState hook과 같이 사용 const [todoList, setTodoList] = useRecoilState(todoListState)
기존 Code에서는 부모 Component에서 자식 Component에 props를 전달하여,
자식 Component를 호출해야합니다.
따라서, 항상 해당 Component를 사용할때 onClose함수를 전달하거나, 또 다른 props를 전달해야 하는 코드를 작성해야 합니다.
하지만 Recoil로 구현하면 훨씬 간결합니다.
Props가 Reoil로 관리되면서 부모와 자식 Component 간의 props가 사라지게 됩니다.
자식 component
export const isShowState = atom({ key: 'PopupTodo/show', default: false, }); export default function PopupTodo() { //const [isShow, setShow] = useState(true); // AS-IS const [isShow, setShow] = useRecoilState(isShowState); // RecoiltState get,set hook ...
부모 Component
const [isShowPopup, setShowPopup] = useRecoilState(isShowState); return ( ... {isShowPopup && <PopupTodo />} {/*Prop를 전달하지 않습니다. */} )
공통 컴포넌트나 팝업등 여러 Component에서 사용하는 Component의 상태를 Recoil로 관리한다면, 해당 Props를 쉽게 관리할수 있습니다.
[Recoil] AtomFamily - typescript (0) | 2023.03.08 |
---|---|
React Recoil vs Context (0) | 2023.02.01 |
React + Recoil (0) | 2023.01.25 |
댓글 영역