一个列表每个 item 绑定一个 zustand create 出来的 useStore ,如果这个列表是动态的,反复增删。需不需要 destory 这个 useStore ? 比如 function Item(){ useStore = useRef(create(set=>(...)))...,
1
lwfre Jul 8, 2025 via iPhone
感觉你这写法不对呀。zustand create 调用后应该作为全局变量,不应该写在组件里。
就算真的需要用在列表里,不应该是 zustand 里有一个 list 变量吗,哪有放在 ref 里的 |
2
realJamespond OP @lwfre Item 里面嵌套比较深,想用一个 store 实例去管理里面的各子组件的状态
|
3
theprimone Jul 9, 2025
跟一楼一样,我也觉得应该是 list 丢到 zustand 里,封装 actions 去操作 item 就好了
|
4
biganke Jul 9, 2025
1. zustand 个人使用是全局不相关组件-全局数据存取通信使用。
2. 你目前的用法,如果确定要在某个页面,某个列表组件使用,那不应该就是每次删除后,从后台拉回最新列表 json 数据结合,直接调用你 zustand 的中封装好的 set 方法全量更新。 3. 嵌套深的数据,不应该是实时操作后,请求后端,放在数据库里面,只要是实时性要求高的,你存本地 zustand, 并且要做数据持久化,完全比不上放后端接口实时增删改查 @realJamespond |