重定向到其他路线不起作用

时间:2019-04-22 09:54:20

标签: javascript reactjs react-router

我有两个导航栏项目,它们具有不同的路线,当我想通过单击导航栏上的项目从一个页面切换到另一页面时,未安装组件,但更改了路线。

我正在调查此问题,并使用componentWillReceiveProps()方法找到了解决方案。

但不确定这是解决方案。

这是我尝试过的:

  1. 当我声明路由时,我将prop currentRoute传递给组件。

  2. 稍后在componentWillReceiveProps中检查下一个和该道具currentRoute,如果它们不同,则调用函数wihch reset State。

代码

// ROUTES
if (route === '/intakeAnalytics') {
   return <Analytics userRole={userRole} currentRoute="/intakeAnalytics" />
}

if (route === '/adjusterAnalytics') {
      return <Analytics userRole={userRole} currentRoute="/adjusterAnalytics" />
}
// componentWillReceiveProps
  async componentWillReceiveProps(nextProps) {    
   if (nextProps.currentRoute !== this.props.currentRoute) {
      this.setDefaultData()
    }
  }

注意:这两个路由都使用相同的“分析”组件,这是使用同一组件的两个不同的分析。

0 个答案:

没有答案