Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应,重做下一次调度_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript 反应,重做下一次调度

Javascript 反应,重做下一次调度,javascript,reactjs,redux,Javascript,Reactjs,Redux,我仍然从react和redux开始,现在我遵循这一点,它使用这一点进行调度。我想知道在第一次调度之后,我将如何进行另一次调度(连锁)?我现在有类似的东西 fetchData() { const { dispatch } = this.props; const action = PageActions.fetchPage({slug: this.props.params.slug}); dispatch(action); } 想知道我是否能发送(操作)。然后(…)但是发送的返回总是未

我仍然从react和redux开始,现在我遵循这一点,它使用这一点进行调度。我想知道在第一次调度之后,我将如何进行另一次调度(连锁)?我现在有类似的东西

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

想知道我是否能
发送(操作)。然后(…)
但是
发送的返回总是未定义的。这可能吗?

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

堆栈上有一篇关于它的用法和适当情况的好文章

这将允许您从单个操作中分派多个操作。但是,如果希望将动作“链接”在一起,只需在第一个动作定义的末尾分派第二个动作即可


如果我确实使用了
redux thunk
,我是否需要删除现有的promiseMiddleware?如果我没有,我应该如何在我的动作创建者中链接下一个?将
.then
添加到我的常规操作中不起作用,例如
返回{type:FETCH,promise:request.get(…)[.then(…])}
。两者都能完成我在服务器上看到的请求,但是我的应用程序失败了。所以我使用并学习了thunk来完成这个任务。谢谢是的,有可能。问题解决了
function getBookings() {
  return (
    RequestHelper.fetchEntities(Routes.bookings.all, {}, queryParams)
      .then(res => dispatch(getBookingsSuccess(res));
  )
}

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