React Flux从远程服务获取Api数据

时间:2017-03-22 13:41:17

标签: reactjs reactjs-flux

我正在尝试从facebook样本中找到的flux结构 https://github.com/facebook/flux/tree/master/examples/flux-todomvc

这种架构在哪里可以调用你的api从远程服务获取数据?

AppContainer有一个getState方法,它获取商店的get初始状态。由于尚未发生数据库调用,因此该值为null。我可以在Action创建者中进行api调用。但是我在哪里触发这个动作呢?

AppContainer.js

function getStores() {
    return [
        TodoStore
    ];
}

function getState() {
  return {
    todos: TodoStore.getState()
  };
}

2 个答案:

答案 0 :(得分:0)

您应该创建一个操作调度程序,它会触发获取请求并使用获取结果作为有效内容调度操作。通过mapDispatchToProps处理此操作调度程序,并通过componentDidMount循环方法在组件内调用它。

答案 1 :(得分:0)

你应该创建具有方法的Actions类。此方法将调度操作以存储,并发送ajax数据。

一个for i in (i if c in tr['title'] else None for i, tr in enumerate(demo['tracks'])): print(i) 类方法的示例:

Actions

所以实际上你将有2-3个派遣事件:

  1. 当动作开始时(我们可以禁用“触摸的SUBMIT”按钮)
  2. 当我们获得成功ajax回应
  3. 当我们的ajax响应失败时(不要忘记再次启用SUBMIT按钮)