反应,redux链下一次派遣

时间:2016-04-06 07:04:10

标签: javascript reactjs redux

我仍然在使用react和redux开始,现在我遵循了这个tutorial并使用此middleware进行调度。我想知道如何在第一个之后再进行另一次调度(链接它)?我现在有这样的事情。

fetchData() {
  const { dispatch } = this.props;
  const action = PageActions.fetchPage({slug: this.props.params.slug});
  dispatch(action);
}

并想知道我是否可以dispatch(action).then(...)但是dispatch的返回总是未定义的。这可能吗?

1 个答案:

答案 0 :(得分:3)

如果您想在动作创建者中使用异步操作,则需要使用中间件。推荐的中间件是thunk

关于它的使用和适当的情况,Stack上有一篇很好的帖子。 Stack Overflow Async Actions

这将允许您从单个操作中分派许多操作。但是,如果你想要"链"一起执行操作,您只需在第一个操作定义的末尾调度第二个操作。

function getBookings() {
  return (
    RequestHelper.fetchEntities(Routes.bookings.all, {}, queryParams)
      .then(res => dispatch(getBookingsSuccess(res));
  )
}

...
function getBookingsSuccess(data) {
  dispatch(showSuccess());
}