5

我只是在使用通量和反应制作一个简单的原型。以前当我使用 React 时,我已经将事件从子组件发送到它们的父组件(他们在子组件上注册了 prop 回调),然后在父组件中更改了状态。

遵循 Flux 架构是否应该通过 Dispatcher 引发所有事件?例如,即使是一个简单的用户事件,比如选择一个复选框,也应该通过这个链引发:

  1. 在组件事件处理程序中创建一个动作
  2. 发送给调度员
  3. 调度员发送到商店
  4. store 向控制器视图发出更改事件
  5. 控制器视图回调到商店以获取更改

谢谢

4

2 回答 2

3

应该在两种情况下分派一个动作:

  • 用户输入
  • 当您必须从子组件更改父级数据时。

在您的情况下,您为每个用户的交互调度一个动作取决于您的应用程序,您应该问自己三个问题:

  • 您是否需要请求让您的后端知道复选框状态?
  • 你做任何类型的 API 调用吗?
  • 其他非子组件是否需要了解它?

如果上述问题的至少一个答案是“是”,那么您应该发送一个动作。

于 2015-08-14T15:46:25.553 回答
2

我认为这完全与依赖关系有关,如果您的事件是或可能创建依赖关系(即对您的信息流产生影响或确定未来收到的信息),那么您应该使用操作和存储。

一个例子:你有一个带有多个复选框的表单我认为没有必要使用动作和存储,用户可以改变主意,选中/取消选中事物,发送表单时很重要,然后你触发一个动作。

相反,如果此复选框类似于“如果有任何新内容请通知我”并触发创建侦听器,那么您应该使用操作并存储。

于 2015-08-14T15:54:20.117 回答