自从我了解了Flux及其实现/' flavors',例如Redux," Store"让我不满意。在我看来," Store"与Flux所做的事情截然不同。
实际上,当我搜索标签" store"时,它会提出以下内容:
商店是一组集成对象的数据存储库。这些对象使用数据库模式中定义的类建模。数据存储不仅包括数据库之类的数据存储库,它还是一个更通用的概念,包括可以存储数据的平面文件。
我知道这个定义是针对与JavaScript无关的东西,但这对我来说听起来很合乎逻辑,更接近于我如何理解" Store":以某种形式管理数据存储的组件
在Flux(和Redux)中,Store管理State,它是值/对象的任意集合。两个库都包含Actions的概念,这些对象描述了需要执行的操作。 Flux Store通过订阅Dispatcher接收Actions,Action处理程序包含更改State的逻辑。 Redux Store包含一个dispatch(action)
方法,该方法接受一个传递给指定Reducer的Action对象,该对象又包含修改状态的逻辑。在这两种情况下,当操作更改状态时,商店将通知相关方(例如,查看组件)此更改。可选地,Action Creators可用于进行"调度"行动更舒适,更不容易出错。
(我知道我在上面的描述中略过了一些细节和细微差别,但这不是我的观点。)
因此,Flux / Redux商店有多种用途:
在这些情况中,我都没有看到管理数据存储的概念。然后为什么这个词" Store"?它究竟是什么'存储'?
我对你认为什么是好的选择非常感兴趣。如果你现在自己创建这个库,那么命名这个组件的最佳方法是什么?
非常感谢您的想法!
阿贝尔
答案 0 :(得分:0)
实际上是什么'存储'?
"商店"表示应用程序的UI状态。如果您将其视为具有侦听器的单个不可变数据结构(如Redux),那么术语"存储"对我有意义。
查看漂亮的Redux文档以获取更多详细信息http://redux.js.org/docs/introduction/ThreePrinciples.html