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

2021-05-31 02:03:42 +08:00
 find456789

我目前的组合是 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

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

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

所以想请教一下 大家

谢谢

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

为了这类零散的小数据建立完整的 store 确实需要废点体力,不过可以引入一些脚手架模版,通过命令行直接生成文件,这样只要小改几个地方就可以了。
horizon
2021-05-31 10:12:41 +08:00
不需要触发 view 更新的,都不要放到 state 里。
zloong
2021-05-31 10:14:20 +08:00
没必要,只有全局共享的状态才会放到 mobx 。
yimity
2021-05-31 11:50:56 +08:00
我的做法是一个组件单独用的数据,都不放到状态管理中。
towave
2021-05-31 14:19:52 +08:00
尽量不要使用 mobx,除非需要跨组件共享

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/780230

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX