1. 安装:
| |
| npm install zustand |
| |
| |
| yarn add zustand |
2. 创建store:
| import { create } from "zustand"; |
| |
| const useStore = create((set) => ({ |
| count: 0, |
| str: "", |
| addCount: () => set((state) => ({ count: state.count + 1 })), |
| setStr: (newStr) => set(() => ({ str: newStr })), |
| })); |
| |
| export default useStore; |
3. 组件内使用:
| import { |
| Button, |
| View, |
| Text, |
| } from 'react-native'; |
| import { useStore } from "./store"; |
| export default function Page() { |
| const count = useStore((state) => state.count); |
| const str = useStore((state) => state.str); |
| const addCount = useStore((state) => state.addCount); |
| const setStr = useStore((state) => state.setStr); |
| |
| const clickHandle = () => { |
| addCount(); |
| setStr("a new string"); |
| } |
| return ( |
| <View> |
| <Text>{count}</Text> |
| <Text>{str}</Text> |
| <Button onPress={clickHandle} title="Click Button" color="#841584">点击</Button> |
| </View> |
| ) |
| } |
4. 外部文件中使用并获取更新状态
通过getState方法获取数据,通过subscribe方法订阅监听数据变更
| import { useStore } from "./store"; |
| const count = useStore.getState().count; |
| useStore.subscribe((newState) => { |
| console.log(newState.count); |
| }); |
5. 更多
官方网址
文档地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程