全局状态管理 zustand
Zustand
是一个 轻量级、直观的 React
状态管理库,由 Poimandres
团队 开发,作者也参与了著名的 react-three-fiber
等项目。Zustand
的设计目标是简单、灵活,并避免了 React
组件间复杂的状态传递和性能问题。
🧪 基础使用示例
import React from 'react';
import { useGlobalStore } from '@/store';
import { prevState } from '@/store/init';
function Index() {
const theme = useGlobalStore((state) => state.theme);
//框架内自定义函数 可以同时设置多个状态
const setState = useGlobalStore((state) => state.setState);
useEffect(() => {
//根据业务设置状态值
setState({ theme: 'dark' });
}, []);
//初始化
useLayoutEffect(() => {
//初始化预设状态
setState({ ...prevState });
}, []);
return <div>{theme}</div>;
}
🧪 Action
如果同一个接口很多组件内都需要调用,那么只需在 zustand 内定义一次即可灵活调用。