«大家好!»
在componentDidMount
中,我调度一个更改我的redux prop id的动作,但在渲染时,redux状态的prop id为null。
关于如何解决的任何想法?
componentDidMount() {
const{match:{params:{roomId}}, getItem, getDirectInfo, getIndirectInfo, getType} = this.props;
if(roomId !== undefined) {
const type = getType(roomId);
if(type.data === 'DIRECT') getDirectInfo(roomId).then(roomId => getInfo(roomId));
else if(type.data === 'INDIRECT') getIndirectInfo(roomId).then(roomId => getInfo(roomId));
}
}
getInfo更改prop“id”的值,但在渲染时它为null
答案 0 :(得分:0)
它可能为null,因为您在reducer中将其初始化为null,并且在调用render()
时尚未调用调度。
答案 1 :(得分:0)
我将假设问题是一个错误,因为您尝试使用该ID但未定义。
在反应生命周期中,render()
函数在componentDidMount()
之前调用。这意味着你应该能够处理渲染时未定义的id,我建议显示某种加载指示符。
由于您没有显示重现此内容的完整示例,因此还可能存在其他问题,请确保减速器实际工作且组件已正确连接。