React Router 跳转问题

#1

请问大家在使用 react-router 时是否遇到过这样的问题, 页面从 /page1/xxx 跳转到 /page1/yyy , /page1/yyy 不会走完整个生命周期。我想要跳转到 /page1/yyy 时,重新渲染整个(页面)组件。

不知大家可否给解惑?

#2
<Route exact path="/login" component={Login} />
<Route exact path="/signin" component={Signin} />

每个route指定的component就是符合该route时被渲染的部分, 如果想"重新渲染整个页面", 你需要指向一个页面级的组件.

#3

用的就是页面级的组件。只不过是同一个页面,不同参数。
不是从页面1跳转到页面2

#4

意思是<Route path="write/:id" getComponent={Write} />
根据不同参数id来判断刷新?
可以这样

componentwillreceiveprops(nextProps) {
  if(this.props.params.id !== nextProps.params.id) {
    this.setState({...})//重新设置state会触发刷新
  }
}
#5

这是一种方法。

#6

谢谢,我能想到的也是这样。

#7
export default function (props) {
  return (<TagManagement {...props} key={props.match.match.params.type} />)
}

给组件加上key

1 Like