在我的情况下,重定向不起作用

时间:2017-03-01 12:43:47

标签: reactjs react-router-v4

我有这个组件,我将this.props.route更改为通过redux重定向。 在这种情况下,我会从' / aaa'重定向。到' / bbb'而且它没有重定向页面。

我测试了this.props.route是否通过在代码中添加console.log来获得更改并且道具正在更新但是Redirect似乎无法正常工作。

基本上,Component {aaa}从redux更新this.state.route。 Redux将状态传播到prop。因此,RedirectHandler组件被重新呈现,但Redirect没有被触发。

这不起作用。

RedirectHandler组件

render() {
  console.log('rerender', this.props.route); 1.) '/aaa' 2.) '/bbb'
  return(
  { this.props.isAuthenticated && <Redirect to={this.props.route} /> }

    <Route exact path="/" component={aaa} />
    <Route exact path="/aaa" component={aaa} />
    <Route exact path="/bbb" component={bbb} />
  )
} 

这是有效的,

render() {
   return(
      { this.props.isAuthenticated && this.props.route === '/bbb' 
&& <Redirect to={this.props.route} /> }
      { this.props.isAuthenticated && <Redirect to={this.props.route} /> }

    <Route exact path="/" component={aaa} />
    <Route exact path="/aaa" component={aaa} />
    <Route exact path="/bbb" component={bbb} />
   )
 } 

问题是,如果props.route正在更新,为什么它不会将我重定向到指定的路线?

<Redirect to={this.props.route} />

OR

为什么第一个块在第二个块没有工作时不起作用? :/

0 个答案:

没有答案