我有一些看起来像这样的代码:
减速机:
const foo = (bar) => {
console.log("here");
return {
type: "FOO",
bar
}
}
在容器的render()内部
console.log(1);
console.log(this.props.dispatch);
console.log(foo);
this.props.dispatch(foo(
{a: 1, b: 2}
));
console.log(2);
我在Chrome中看到的输出是:
1
<dispatch function>
<my foo reducer function>
here
请注意,2
丢失了。
我没有得到任何错误,没有重定向,也没有任何错误。代码执行在dispatch()
调用后停止。
任何建议我如何调试或者想法可能出现什么问题?
答案 0 :(得分:1)
记录:)
您无法在dispatch()
中致电render()
。
(因为如果你这样做,你的道具会被更新,所以在当前道具的中间需要一个新的渲染。这将是一个挂断(等待你自己)或无限递归。证据显示挂断!)