我需要检查一些props(来自 redux 商店)是否是一个空对象。如果它是空的,我希望页面重定向到另一个页面而不是调用render()
.
目前的流程是这样的:
constructor(props) {
this.checkObject();
}
checkObject() {
if (Object.keys(someObj).length === 0 && someObj.constructor === Object) {
this.props.history.push("/some-other-route");
}
}
render() {
// some code
}
但是,当我执行 a 时console.log
,render()
被调用后checkObject()
会导致一些错误,因为render()
需要一个非空对象才能正确显示内容。这就是我不想render()
在对象为空(我检查过checkObject()
)的情况下对调用做出react的原因,而只是重定向到另一个页面。
那么是否有生命周期方法可以在render()
调用之前执行我的重定向代码?