[Zustand]超単純グローバルステータス管理!(ft.Typescript)
reactを用いたWeb開発では,状態管理が重要である.Redux、Recoilを使用し、開発者としてスタートした会社では、出勤前にコンセプトをつかむためにZustandを使用しています.
方法はRecoilに似ています.最大の違いは、rootComponentを特定のコンポーネントにカプセル化する必要がないことです(たとえば、recoilを使用する場合は、
<RecoilRoot></RecoilRoot>
パッケージ<App/>
コンポーネントを使用してグローバルステータスを管理する必要があります).また、Storeの作成はもっと簡単なようです.ストレージの作成 //store의 이름은 store.ts로 생성했다.
import create from 'zustand';
interface SelectContentState { //ts를 사용하기때문에 타입지정이 필요.js사용시 미사용 코드
selectContent: number;
setSelectContent: (select: number) => void;
}
// create를 이용해서 store을 생상헐 수 있으며, 다수의 store도 생성 가능하다.
export const useStore = create<SelectContentState>((set) => ({
// create 함수의 매개변수로 콜백함수를 받는데 이 콜백함수의 return객체에 state,
// setState를 넣는다.
selectContent: window.localStorage.getItem('select') ?
Number(window.localStorage.getItem('select')) : 0,
setSelectContent: (select) => {
set((state) => ({ ...state, selectContent: select }));
},
}));
使用状態 //사용하고자 하는 컴포넌트에서 사용할 store를 가져온다.
import { useStore } from '../store';
const NavBar = () => {
//구조분해할당을 통해 state, setState를 가저와서 사용하면된다. 너무 간단하다.
const { selectContent, setSelectContent } = useStore();
return ...
}
export default NavBar;
簡単ですが、zustantを使用するグローバルステータスを理解し、create関数は追加のオプション変数を受け入れることができます.ゆっくり勉強しましょう.
Reference
この問題について([Zustand]超単純グローバルステータス管理!(ft.Typescript)), 我々は、より多くの情報をここで見つけました
https://velog.io/@hinyc/Zustand-초간단-전역-상태관리-ft.Typescript
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
//store의 이름은 store.ts로 생성했다.
import create from 'zustand';
interface SelectContentState { //ts를 사용하기때문에 타입지정이 필요.js사용시 미사용 코드
selectContent: number;
setSelectContent: (select: number) => void;
}
// create를 이용해서 store을 생상헐 수 있으며, 다수의 store도 생성 가능하다.
export const useStore = create<SelectContentState>((set) => ({
// create 함수의 매개변수로 콜백함수를 받는데 이 콜백함수의 return객체에 state,
// setState를 넣는다.
selectContent: window.localStorage.getItem('select') ?
Number(window.localStorage.getItem('select')) : 0,
setSelectContent: (select) => {
set((state) => ({ ...state, selectContent: select }));
},
}));
//사용하고자 하는 컴포넌트에서 사용할 store를 가져온다.
import { useStore } from '../store';
const NavBar = () => {
//구조분해할당을 통해 state, setState를 가저와서 사용하면된다. 너무 간단하다.
const { selectContent, setSelectContent } = useStore();
return ...
}
export default NavBar;
簡単ですが、zustantを使用するグローバルステータスを理解し、create関数は追加のオプション変数を受け入れることができます.ゆっくり勉強しましょう.Reference
この問題について([Zustand]超単純グローバルステータス管理!(ft.Typescript)), 我々は、より多くの情報をここで見つけました https://velog.io/@hinyc/Zustand-초간단-전역-상태관리-ft.Typescriptテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol