在React-router v4.2

时间:2017-10-30 13:15:35

标签: react-router-v4

我使用react-router v 4.2并遇到一些问题。有两个组成部分:

首先是:

class One extends React.Component {
  componentWillMount() {
    console.log('One mount');
  }
  componentWillUnmount() {
    console.log('One unmount');
  }
  render() {
    ...
  }
}

第二个是:

class Two extends React.Component {
  componentWillMount() {
    console.log('Two mount');
  }
  componentWillUnmount() {
    console.log('Two unmount');
  }
  render() {
    ...
  }
}

当我将页面从组件1翻到2时。并回到一个。我会得到:

  

一个安装>   一个卸载>   两个坐骑   的 >一个安装>   两个卸载

首先安装了One,然后安装了两个。真奇怪!然后,我试图将react-router更改为v3.0.0然后问题就消失了!所以我认为这是v4.2中的问题

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。感谢Facebook前端社区的Ernie YangLink

它只是将Switch组件添加到路径中:

<Switch>
  <Route path="/Two" component={Two} />
  <Route path="/One" component={One} />
</Switch>

Ernie Yang创建的codepen: https://codepen.io/anon/pen/jaEKve?editors=1111