【发布时间】:2016-04-22 18:31:22
【问题描述】:
据我了解React-Flux 架构,Flux Actions 类应该通过AppDispatcher 将它们的事件传播到Store 类。
但是,我看到一些示例是 Action 类直接从 Store 类获取数据以执行某些操作...
示例:
import ... /* a few more imports */
import AppDispatcher from 'AppDispatcher.js';
import SomeStore from 'SomeStore.js';
class SomeActions {
processItemData(){
var item = SomeStore.getCurrentItem();
.
.
// do something with the item
.
.
// then data dispatched (anyway) to SomeStore or maybe other Store class
AppDispatcher.dispatch({...});
}
}
正如我所见 - 在此处导入 SomeStore.js 会破坏 Flux 架构和数据在应用中流动的方式。
问题是,这正常吗?这不是不好的做法吗?
【问题讨论】:
-
我不确定是否有一个正确的答案,但我肯定会考虑从组件传递数据,它会启动操作并从组件内的存储中获取数据,而不是导入存储在动作中,从而坚持 Flux 流:facebook.github.io/react/blog/2014/07/30/…
标签: javascript reactjs ecmascript-6 flux reactjs-flux