Компонент не меняется при изменении URL - PullRequest
0 голосов
/ 27 апреля 2019

Я использую response-router-dom для навигации между моими взглядамиПока это всегда работает.Я добавил два новых маршрута, но у меня есть проблемы с ними.Маршруты, которые уже существовали, все еще работают правильно, но когда я пытаюсь переключиться на свои новые маршруты, URL-адрес изменяется правильно, но компонент не отображается, у меня все еще есть старый, и мне нужно обновить его, чтобы увидеть мой новый компонент.(На некоторых маршрутах при обновлении у меня определенно есть старый компонент, за которым следует новый).

<BrowserRouter>
  <MainPage/>
</BrowserRouter>

MainPage:

  <div>
    <AppBar/>
    <Main/>
  </div>

Часть панели приложения со ссылкой, которая неработа:

<Menu.Menu position="right">
   <Dropdown item text='Administration'>
     <Dropdown.Menu>
        <Link to={"/admin"}><Dropdown.Item style={{color: "black"}}>Accueil</Dropdown.Item></Link>
        <Dropdown.Header>Utilisateurs</Dropdown.Header>
        <Link to={"/admin/users"}><Dropdown.Item style={{color: "black"}}>Liste des utilisateurs</Dropdown.Item></Link>
      </Dropdown.Menu>
    </Dropdown>
    <Menu.Item name="disconnect" onClick={this.handleClickDisconnect} />
</Menu.Menu>

Main:

<div>
  <Switch>
    <Fragment>
      <Route exact path="/" component={MapNox} />
      <Route path='/map' component={MapNox} />
      <Route path="/resetPassword" component={ResetPassword} />
      <Route path="/forgotPassword" component={ForgotPassword} />
      <Route path="/cgu" component={Cgu} />
      <AdminRoute path="/admin" component={HomeAdmin} />
      <AdminRoute path="/admin/users" component={ListUser} />
    </Fragment>
  </Switch>
</div>;

AdminRoute:

renderComponent(Cmp, props) {
    const {currentUser} = this.props;
    return currentUser.role === "ADMIN" ? <Cmp {...props}/> : <Redirect to={{pathname: '/', state: {from: props.location}}}/>;
  }

  render() {
    const {component: Cmp, ...rest} = this.props;
    return <Route {...rest} render={(props) => this.renderComponent(Cmp, props)}/>;
  }

Если у вас есть какой-либо интересующий меня вопрос, спасибо!

...