Я использую 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)}/>;
}
Если у вас есть какой-либо интересующий меня вопрос, спасибо!