#reactjs #react-router
#reactjs #react-router
Вопрос:
Я хочу перенаправить свое приложение с «/» на «/ login» с помощью перенаправления.
Вот мой код:
import React, { Component } from 'react'
import { Route, Switch, Redirect, withRouter } from 'react-router-dom'
import Login from './Login'
@withRouter
export default class Routes extends Component {
render() {
return (
<>
<Switch>
<Redirect exact from="/" to="/login" />
<Route path="/login" component={Login} />
</Switch>
</>
)
}
}
При первом изменении URL-адреса рендеринга, но компонент {Login} не отображается.
НО когда я перезагружаю страницу, рендеринг компонента {Login} и все работает правильно.
(для получения дополнительной информации) Этот компонент вложен в маршрутизатор с поддержкой истории.
Может кто-нибудь, пожалуйста, помочь мне найти, где проблема?
ОТРЕДАКТИРОВАНО: удалить ‘push’ из перенаправления, все еще не работает
Комментарии:
1. удалить
push
из<Redirect exact from="/" to="/login" />
.2. удалено, но все еще не работает
3. Сделайте минимально воспроизводимый код. В противном случае никто не сможет увидеть, что происходит, и может только догадываться. Попробуйте codesandbox.io
4. вы пытались написать
<Route path="/login"> <Login /> </Route>
и посмотреть, работает ли это?5. он уже должен работать. Я думаю, это может иметь какое-то отношение к вашему
wthRouter
или чему-то еще. Вы можете увидеть эту простую рабочую песочницу в качестве ссылки