反应路由器查询参数更改组件将卸载

时间:2017-12-15 07:52:54

标签: react-router

当查询参数发生更改时,相同的组件将卸载然后mount.for示例: 我有一个像/admin的网址,还有一个名为Admin的组件。在管理员中,有一些搜索输入。我在/admin /admin?userId=123之后添加了一个查询参数。组件的componentDidMount将再次执行。有什么方法可以阻止这种情况吗?

2 个答案:

答案 0 :(得分:1)

and setting likes this 
export default function (history, app) {
  return (
    <Switch>
      <Route exact path='/admin/settings/user' component={getComponent(User,app,userModel)} />
      <Route path='/admin/settings/user/:id' component={getComponent(UserEdit,app,userModel)} />
      <Route path='/admin/settings/role' component={getComponent(Role,app,roleModel)} />
      <Route path='/admin/settings/menu' component=
    </Switch>
  )
}

getComponent是一个layload组件。

答案 1 :(得分:0)

@Alex Brazh我使用了v4,路由器喜欢这个;

<Router>
      <Switch>
        <Route exact path='/' component={getComponent(Login,app,loginModel)}/>
        <Route path='/admin' render={ props => (
          <Layout>
            { settings(history, app) }
          </Layout>
        )}/>
        <Route path='/finance' render={ props => (
          <Layout>
            { finance(history, app) }
          </Layout>
        )}/>
</Switch>
</Router>