我正在尝试读取的值window.location.state.endButtonEnabled来检查未定义。但是当我实际继续检查 undefined 时,我在 if 条件下得到一个 undefined 错误。在以下代码中:constructor(props){ super(props); if(window.location.state.endButtonEnabled !== undefined){ console.log('endButtonEnabled is: '+ window.location.state.endButtonEnabled ); //Do Something } else{ window.location.state = {endButtonEnabled: true}; } }考虑控制台中的错误:有什么建议?我正在使用最新版本的 ReactJS。
2 回答
万千封印
TA贡献1891条经验 获得超3个赞
我决定首先检查window.location.state === undefined. 这导致在使用navigate('/path/destination'). 令人惊讶的是navigate()来自'@reach/router'蜜饯,window.location.state所以我可以在从下一页回来时使用它。所以我最终得到的检查代码是:
if(window.location.state === undefined){
window.location.state = {endButtonEnabled: false}
}
else{
window.location.state = {endButtonEnabled: true}
}
第一次加载页面时,此代码不会中断。这可能不是状态管理事物的理想方式,但这种方式对我有用。我想要点是:按照文档说的做,而不是像我做的那样。
添加回答
举报
0/150
提交
取消