当我的新状态映射到我的道具时,我想有条件地渲染一个像这样的新JSX元素
async componentWillReceiveProps(nextProps: props) {
if (nextProps.selectedStatement) {
if (this.statementIsFiltered()) {
return <Redirect to={location}/>
}
}
答案 0 :(得分:1)
在渲染时执行。
render() {
if (this.props.selectedStatement && this.statementIsFiltered()) return <Redirect to={location} />
return (
<div>
Rest of your code
</div>
)
}
答案 1 :(得分:1)
我认为这不是一条路。 react-router
v4?
尝试
async componentWillReceiveProps(nextProps: props) {
if (nextProps.selectedStatement) {
if (this.statementIsFiltered()) {
this.props.history.push(location)
}
}
使用withRouter(YourComponent)