Javascript对象析构函数在react this.props中不起作用
几天前,我刚刚学习了使用简单对象进行对象析构函数,效果很好。然而,当我尝试在react on this.props中使用它时,它会为我的所有变量返回未定义的值,我不确定我在这里做错了什么。非常感谢您的帮助。干杯Javascript对象析构函数在react this.props中不起作用,javascript,reactjs,Javascript,Reactjs,几天前,我刚刚学习了使用简单对象进行对象析构函数,效果很好。然而,当我尝试在react on this.props中使用它时,它会为我的所有变量返回未定义的值,我不确定我在这里做错了什么。非常感谢您的帮助。干杯 render() { console.log("the properties from props", this.props.currentTeam); const { metaDataUpdated, metaDataUpdating,
render() {
console.log("the properties from props", this.props.currentTeam);
const {
metaDataUpdated,
metaDataUpdating,
needsToResetUpdateMessage
} = this.props.currentTeam;
console.log(
`metadata updated? ${metaDataUpdated} --- is metaDataUpdating? ${metaDataUpdating} --- need to update message ${needsToResetUpdateMessage}`
);
您的
console.log
语句正在查看两种不同的内容,而console.log
在显示特定时间点的内容时不可靠。如果要调试类似的内容,请尝试使用以下方法:
console.log(JSON.stringify(this.props.currentTeam)));
console.log(JSON.stringify(metaDataUpdated));
然后,您可能会看到这些值是一致的,您的问题很可能与React生命周期或更新道具或状态的方式有关。当您使用
console.log(this.props.currentTeam.MetadataUpdate)
时会得到什么?我这样问是因为当输出this.props.currentTeam
时,可能是控制台的延迟加载效应。好问题。这也给出了未定义的结果,所以我想通过redux更新我的商店的某个地方效果不好。谢谢你给我指出了正确的方向。@trincot:发现了问题,我忘了在减速器中以不变的方式复制我的状态。(Y) 很高兴听到你把它解决了!