react重定向问题?

初学者。。我在一个组件里重定向到另一个组件

 constructor(props: any) {        super(props);        this.props.history.push('/auth_manage')
    };

重定向是成功了,但是该组件剩下的函数(render())之类的都执行了,如何在这里直接跳出这个组件呢?


小唯快跑啊
浏览 1123回答 1
1回答

慕后森

其实这么写已经理解错误了react-router的思想,如果你想在匹配到某个路由后跳转到另一个路由,你应该用:<Redirect&nbsp;from="原来的路由"&nbsp;to="指定的路由"/>而不应该进到路由后才跳转, 如果你是进到路由后,需要判断满足某些条件,才进行跳转,而且必须进到这个页面,那么你需要在render中写这个东西或者DidMount中去写,因为初始化时,无法阻止执行render,你可以在render中这么写render()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(xxxx)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.props.history.push('/auth_manage');&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;''; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;'xxxxx'; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

React.JS