-
valtio와 zustand의 차이점React 2022. 8. 16. 18:52
zustand는 변경 불가능한 상태 모델
const store = create(() => ({ obj: { count: 0 } })) store.setState((prev) => ({ obj: { count: prev.obj.count + 1 } })
valtio는 변경 가능한 상태 모델이다
렌더링 최적화
zustand는 수동으로 렌더링을 최적화 해줘야한다.
import create from 'zustand' const useStore = create(() => ({ count1: 0, count2: 1, })) const Component = () => { const count1 = useStore((state) => state.count1) // ... }
valtio는 useSnapshot으로 자동으로 렌더링을 최적화
import { proxy, useSnapshot } from 'valtio' const state = proxy({ count1: 0, count2: 0, }) const Component = () => { const { count1 } = useSnapshot(state) // ... }
'React' 카테고리의 다른 글
얼떨결에 리더가 되어 버렸던 이야기 - 프로젝트 회고 (1) 2022.11.04 cra webpack 냅다 주석 해보기 (0) 2022.08.21 4년전에 업데이트된 React-router-sitemap (0) 2022.08.17