V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
find456789
V2EX  ›  问与答

react 里,只使用一次的数据,有必要放入全局状态里吗?

  •  
  •   find456789 · 2021-05-31 02:03:42 +08:00 · 1063 次点击
    这是一个创建于 1282 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我目前的组合是 react+mobx

    所有状态我都放在 mobx 里的,

    我用的是 mobx-state-tree https://mobx-state-tree.js.org/intro/welcome


    我把 api 接口也写到了 mobx-state-tree 里面

    有些数据只请求了一次, 比如 在页面 127.0.0.1/version 是显示服务器 api 版本号的

    我也在 mobx 里建立了一个 model

    我现在突然感觉, 这种只用一次, 且只在单个组件里用到的东西, 也许不应该放在 状态里,

    但我也不知道什么是最好的方案

    所以想请教一下 大家

    谢谢

    5 条回复    2021-05-31 14:19:52 +08:00
    Mutoo
        1
    Mutoo  
       2021-05-31 08:10:31 +08:00
    个人比较倾向于轻量化的 View,把数据请求放在 Data Layer 。另外就是一致性,考虑到你已经把所有状态都放在 mobx 里了,基于 single source of truth 原则,把它们放在一起比起分散在各个组件更便于检索。

    为了这类零散的小数据建立完整的 store 确实需要废点体力,不过可以引入一些脚手架模版,通过命令行直接生成文件,这样只要小改几个地方就可以了。
    horizon
        2
    horizon  
       2021-05-31 10:12:41 +08:00
    不需要触发 view 更新的,都不要放到 state 里。
    zloong
        3
    zloong  
       2021-05-31 10:14:20 +08:00
    没必要,只有全局共享的状态才会放到 mobx 。
    yimity
        4
    yimity  
       2021-05-31 11:50:56 +08:00
    我的做法是一个组件单独用的数据,都不放到状态管理中。
    towave
        5
    towave  
       2021-05-31 14:19:52 +08:00
    尽量不要使用 mobx,除非需要跨组件共享
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1286 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:26 · PVG 07:26 · LAX 15:26 · JFK 18:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.