从后端获得的数据,经常要在前端按需做格式化处理,例如金额加上"元",时间戳数字转成成 xx 年 xx 月 xx 日等。目前是每次获取数据后都用手写的方法去做批量处理。 感觉为了提高效率,必需要有一个"model"来集中管理数据,实现例如 js 类型转换、格式化输出、数据校验等等。请教有什么现成的轮子能实现这种 model 呢? 还是说我应该抛弃 model -> view 这种思想? 一般在 React 项目中怎样管理数据比较科学?
1
hxtheone 2016-05-04 13:02:08 +08:00
感觉 model -> view 的思想的确不太适合现在的 react 开发, LZ 可以看一下 redux, 尝试一下 redux 中 action -> store -> view 的数据流
比如你需要的请求数据, 类型转换, 格式化这些操作, 可以放在 action 里, 然后更新 store 中数据, 最后 view 用来对 store 中的数据做一个展示的作用. 你可以看一下 redux 文档中对 action, reducer 和 store 这几层的区分, 感觉即使没有明确的 model, 也能比较优雅的管理数据 |
2
narukow OP 看来还是必须学习下 redux
不知有什么轮子能配合统一实现类型转换、格式化这类机制呢 |
3
ChefIsAwesome 2016-05-04 16:07:34 +08:00
按你举的例子,格式化时间戳之类的东西就应该放 view 层,写(找)几个公用的 util 函数就是了。 react 本身是组件化的东西,天知道哪天你需不需加个不需要转换格式的组件,到时候你怎么办。
从你想着 “这些组件需求一样,我给他们一样格式的数据” 开始,你就是在想继承了,你就错了。 性能问题完全可以通过把你的 util 函数 memoize 解决 。 |
4
narukow OP 感谢,非常有启发!
|