realJamespond
V2EX  ›  React

zustand create 出来的 useStore,需不需要 destory?

  •  
  •   realJamespond · Jul 8, 2025 · 2545 views
    This topic created in 332 days ago, the information mentioned may be changed or developed.
    一个列表每个 item 绑定一个 zustand create 出来的 useStore ,如果这个列表是动态的,反复增删。需不需要 destory 这个 useStore ? 比如 function Item(){ useStore = useRef(create(set=>(...)))...,
    4 replies    2025-07-09 15:59:05 +08:00
    lwfre
        1
    lwfre  
       Jul 8, 2025 via iPhone
    感觉你这写法不对呀。zustand create 调用后应该作为全局变量,不应该写在组件里。
    就算真的需要用在列表里,不应该是 zustand 里有一个 list 变量吗,哪有放在 ref 里的
    realJamespond
        2
    realJamespond  
    OP
       Jul 8, 2025
    @lwfre Item 里面嵌套比较深,想用一个 store 实例去管理里面的各子组件的状态
    theprimone
        3
    theprimone  
       Jul 9, 2025
    跟一楼一样,我也觉得应该是 list 丢到 zustand 里,封装 actions 去操作 item 就好了
    biganke
        4
    biganke  
       Jul 9, 2025
    1. zustand 个人使用是全局不相关组件-全局数据存取通信使用。
    2. 你目前的用法,如果确定要在某个页面,某个列表组件使用,那不应该就是每次删除后,从后台拉回最新列表 json 数据结合,直接调用你 zustand 的中封装好的 set 方法全量更新。
    3. 嵌套深的数据,不应该是实时操作后,请求后端,放在数据库里面,只要是实时性要求高的,你存本地 zustand, 并且要做数据持久化,完全比不上放后端接口实时增删改查
    @realJamespond
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2888 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 01:57 · PVG 09:57 · LAX 18:57 · JFK 21:57
    ♥ Do have faith in what you're doing.