发布于 2018-07-20 13:02:26
Redux文档强烈建议只在Store中放置普通的可序列化对象。
正因为如此,我正在接近与您的选择层相同的情况,在其中,我以正确的格式获取所需的Store数据,然后在组件中使用格式化(计算)数据。
下面是我可以推荐你的流程:
我是否可以将功能、承诺或其他不可序列化的项目放在我的存储状态中?
强烈建议您只将简单可序列化的对象、数组和原语放入存储中。从技术上讲,可以在存储中插入不可序列化的项,但这样做会破坏存储内容的持久化和再水合物的能力,并干扰时间迁移调试。 如果您对持久性和时间旅行调试等可能无法按预期工作的事情感到满意,那么我们完全欢迎您将不可序列化的项放入Redux存储中。最终,这是您的应用程序,以及如何实现它取决于您。与关于Redux的许多其他事情一样,只需确保您了解所涉及的权衡。
发布于 2018-07-20 16:53:32
对于未来的读者来说,我最终完全改变了自己的想法:使用选择器工作,但我也有来自商店其他部分的表单输入的数据,这些数据在reselect中无法处理。
因此,我决定以ISO字符串格式("2018-07-10T08:31:09.877Z")存储日期,并尽可能晚地对其进行moment化(例如。<DatePicker type='date' value={moment(this.props.value)} />)。
这不太优雅,可能有点不太好表演,但我有更多的控制力。
如果有人想出了更好的解决方案,我会很乐意阅读的!
https://stackoverflow.com/questions/51440748
复制相似问题