使用ES6类与Redux

10
我正在处理一个项目,从一个端点获取大量数据到一个单一的reducer中。我想将这些数据转换成ES6类,以便可以提供帮助方法、提供数据之间的关系,并且不必一直使用普通的javascript对象。此外,为了获得数据之间的关系,我不得不进行n平方计算,这会减慢前端速度。
以下是我看到的选项:
1) 创建一个选择器来连接redux store。这个选择器可以从reducer中获取数据,并将其转换为我定义的多个ES6类。如果reducer获取不同的新数据,则选择器将重新创建ES6类实例化。
2) https://github.com/tommikaikkonen/redux-orm 这也很棒。
3) 在数据集上创建多个选择器,用于计算数据集中的指定关系,以便每次想要获取关系时,只需调用该选择器即可,否则需要进行n平方计算。
我的问题是我应该选择这三条路线中的哪一个?除了这三个之外还有其他的选择吗?或者人们大多只在前端使用JavaScript对象而不涉及ES6类。

更新:

两个月后,我仍在生产中使用Redux-ORM,它非常棒!强烈推荐。


3
你的问题是什么? - starcorn
我更新了它,明确说明了问题。 - NateW
1个回答

9

当然可以使用“普通”函数和选择器来处理所有内容。在Redux FAQ中有有关规范化的信息,我在我的React/Redux链接列表中也有一些关于选择器和规范化的文章。

话虽如此,我非常支持Redux-ORM。这是一个帮助管理Redux存储中规范化/关联数据的绝佳工具。我用它来规范化嵌套数据、查询数据,并以不可变的方式更新该数据。

我的《实用Redux》博客系列包括两篇关于Redux-ORM的文章:《Redux-ORM基础知识》《Redux-ORM概念与技巧》。最新的文章《实用Redux第5部分:加载和显示数据》也展示了Redux-ORM的运作。

Redux-ORM的作者Tommi Kaikkonen最近发布了一个beta版,此版本对Redux-ORM进行了重大更新,改进了API和行为,我很期待尝试一下。

我强烈推荐使用!


1
很高兴知道人们喜欢Redux-ORM!感谢Mark的建议! - NateW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接