gpt4 book ai didi

javascript - 在 render() 之前使用什么组件生命周期来做某事?

转载 作者:行者123 更新时间:2023-11-29 10:57:36 25 4
gpt4 key购买 nike

我需要检查某些 Prop (来自 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
}

但是,当我执行 console.log 时,render()checkObject() 之后被调用,这会导致一些错误,因为 render() 需要一个非空对象才能正确显示内容。这就是我不想在对象为空时(我通过 checkObject() 检查)甚至调用 render() 并重定向到另一个页面的原因。

那么在 render() 被调用之前是否有一个生命周期方法可以使用来执行我的重定向代码?

最佳答案

您可以在渲染中使用 react-router 的重定向组件。

import { Redirect } from 'react-router'
render(){

(checkIfObjectEmpty)?<Redirect to = '/some_route'/>:<JSX>

}

关于javascript - 在 render() 之前使用什么组件生命周期来做某事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54194045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com