使用Zustand时遇语法错误:simple-zustand-devtools无mountStoreDevtools导出
解决Zustand中simple-zustand-devtools导出'mountStoreDevtools'不存在的错误
你遇到的问题是因为simple-zustand-devtools的API在新版本中发生了变更——原来的mountStoreDevtools导出已被移除,改用中间件方式集成DevTools,导致你的旧写法无法匹配当前安装的包版本。
以下是两种可行的解决方案:
方案一:使用新版本中间件写法(推荐)
直接在创建store时集成devtools中间件,无需单独调用挂载函数,代码如下:
import { create } from 'zustand'; import { devtools } from 'simple-zustand-devtools'; const useAuthStore = create(devtools((set, get) => ({ allUserData: null, loading: false, user: () => ({ user_id: get().allUserData?.user_id || null, username: get().allUserData?.username || null, }), setUser: (user) => set({ allUserData: user}), setLoading: (loading) => set({ loading }), isLoggedIn: () => get().allUserData !== null, }), { name: 'AuthStore' })) export default { useAuthStore }
这个写法会自动在开发环境启用DevTools,生产环境自动禁用,不需要额外的环境判断逻辑。
方案二:回退到兼容旧API的版本
如果你坚持要使用原来的mountStoreDevtools函数,可以安装指定版本的包:
npm install simple-zustand-devtools@1.1.0
安装完成后,你原来的代码就能正常运行,无需修改。
内容的提问来源于stack exchange,提问作者Godhani Daksh
相关产品推荐
相关产品推荐

