Reactjs 如何使用ES6 Promise分派多个redux存储操作?
我正在尝试使用Promise API以一个序列(或者一次,实际上并不重要)分派多个redux操作,但它不起作用:Reactjs 如何使用ES6 Promise分派多个redux存储操作?,reactjs,promise,redux,es6-promise,serverside-javascript,Reactjs,Promise,Redux,Es6 Promise,Serverside Javascript,我正在尝试使用Promise API以一个序列(或者一次,实际上并不重要)分派多个redux操作,但它不起作用: Promise.all([ store.dispatch(action1()), store.dispatch(action2()), store.dispatch(action3()), store.dispatch(action4()) ]).then(() => { res.send(renderToString(<Provi
Promise.all([
store.dispatch(action1()),
store.dispatch(action2()),
store.dispatch(action3()),
store.dispatch(action4())
]).then(() => {
res.send(renderToString(<Provider store={store}><App /></Provider>));
});
Promise.all([
store.dispatch(action1()),
store.dispatch(action2()),
store.dispatch(action3()),
store.dispatch(action4())
]).然后(()=>{
res.send(renderToString());
});
我不断得到以下错误:
未处理的PromisejectionWarning:未处理的承诺拒绝(拒绝id:2):TypeError:无法读取的属性“map”
空的
我做错了什么?据我所知,
store.dispatch()
是同步的,所以在这里使用承诺没有意义。我不熟悉react,但根据对问题和一的回答,您的错误可能来自渲染行。我的操作本身返回承诺,我有一个中间件来创建正确的操作。我暂时解决了这个问题。我的一个还原程序有点问题。你可能想看看如何使用一些中间件,比如“Redux Thunk”,我本来会使用Thunk或saga,但我在开始这个项目时并不知道它们。客户端已经部署好,可以生产了。此时添加另一个中间件不是一个选项。因此,我将尝试找到一种解决方案,它不会以任何方式影响客户端代码。@Gasim,错误可能来自其他地方。正如你所说的,可能是你的减速器。这个问题还相关吗?