React Jotai 사용법 총 정리(1) - Jotai는 무엇이고 어떻게 사용하나요? ( https://liebe97.tistory.com/49 )
React Jotai 사용법 총 정리(2) - atom 이해 및 기본 유용한 기능 ( https://liebe97.tistory.com/51 )
React Jotai 사용법 총 정리(3) - useAtom & provider 사용법 ( https://liebe97.tistory.com/52 )
이번 포스팅에서는 useAtom 과 provider 사용 방법에 대해 다뤄보고자 한다.
1. useAtom
총 정리 1편에서 설명했듯이 useAtom 은 useState 와 동일한 모양으로 사용 가능하다.
const [price, setPrice] = useAtom(priceAtom)
2. useSetAtom (write) / useAtomValue(read)
const setPrice = useSetAtom(priceAtom); // 쓰기만
const price = useAtomValue(priceAtom); // 읽기만
낮은 버전에서는 useSetAtom 이 아닌 useUpdateAtom 으로 쓰인다.
useSetAtom, useAtomValue 는 각각 읽기, 쓰기만 가져와서 사용하기 때문에 useAtom 과 다르게 재랜더링 하지 않는 장점이 있다.
3. provider
provider 에 대해 공홈에 제대로 설명해주지는 않아서...ㅎㅎ
사용법 숙지를 위해 여기 저기 보던 중 발견했던 이미지이다. (출처를 모르겠다...)
provider 는 기본적으로 atom 을 전역으로 쓸 때, 어디까지 저장하여 사용할 지 범위를 지정한다고 생각하면 좋을 것 같다.
코드를 보면 scope 가 있는 atom 은 부모와 자식간 값이 동일하게 변하는 것을 확인할 수 있다.
provider 를 사용할 때 scope 라는 것을 부여해주면, 같은 scope 를 가진 atom 끼리는 값이 유지된다.
개인적으로 provider 를 여러 방법으로 설계해보고 사용하길 권장한다!
(scope 는 Jotai 2에서 사라지게 된다... 대신 store로 대체!)
예 1) A 컴포넌트, B 컴포넌트에서 같은 atom 을 사용하지만 다른 값을 가지게 하고 싶을 때
예 2) A 컴포넌트에는 atom 값을 유지시켜주지만, B 컴포넌트에서는 atom 값을 유지하고 싶지 않을 때
등등...
반응형
'🔥 Javascript > 💙 React' 카테고리의 다른 글
React Jotai 사용법 총 정리(4) - atomWithStorage 에 대한 이야기 & Jotai 짧은 후기 (0) | 2023.07.25 |
---|---|
React 컴포넌트 재랜더 useEffect 사용하지 않고 똑똑하게 하기 (0) | 2023.05.07 |
React Jotai 사용법 총 정리(2) - atom 이해 및 기본 유용한 기능 (0) | 2023.02.20 |
React Jotai 사용법 총 정리(1) - Jotai는 무엇이고 어떻게 사용하나요? (1) | 2023.01.30 |
리액트 인피니티 스크롤 적용하기(+ 작동법 설명 포함) (0) | 2022.12.19 |