初学者。。我在一个组件里重定向到另一个组件 constructor(props: any) { super(props); this.props.history.push('/auth_manage')
};重定向是成功了,但是该组件剩下的函数(render())之类的都执行了,如何在这里直接跳出这个组件呢?
1 回答
慕后森
TA贡献1802条经验 获得超5个赞
其实这么写已经理解错误了react-router的思想,如果你想在匹配到某个路由后跳转到另一个路由,你应该用:
<Redirect from="原来的路由" to="指定的路由"/>
而不应该进到路由后才跳转, 如果你是进到路由后,需要判断满足某些条件,才进行跳转,而且必须进到这个页面,那么你需要在render中写这个东西或者DidMount中去写,因为初始化时,无法阻止执行render,你可以在render中这么写
render() { if (xxxx) { this.props.history.push('/auth_manage'); return ''; } return 'xxxxx'; }
添加回答
举报
0/150
提交
取消