Я пытаюсь перенаправить пользователя с /
на /info
, если у него есть обновление в состоянии. Все работает нормально, если требуется перенаправление от /anything
до /data
, считая тот же компонент, который находится под /
, но если перенаправление выполняется с /
, а не с /home
, оно не выполняется, и остается на том же компоненте. Строка под <Redirect to={'/info'} />
видна. В чем разница, и могу ли я просто перенаправить с /
?
Это чисто функциональные компоненты и не содержат никаких других вещей, кроме разметки. Компонент приложения:
function App() {
return <div className={'app'}>
<PerfectScroll>
<main className={'contentArea'}>
<Router history={history}>
<Route exact path={'/'} component={Select} />
<Route path={'/home'} component={Select} />
<Route path={'/info'} component={Info} />
<Route path={'/summary'} component={Summary} />
<Route path={'/thank-you'} component={() => <h1>Thanks</h1>} />
<Redirect from={'*'} to={'/'} />
</Router>
</main>
</PerfectScroll>
</div>
}
Выберите компонент: я вижу «Привет» при перенаправлении с /
function Select {
return <>
<Redirect to={{pathname: '/info'}} push/>
<h1>Hey</h1>
</>
}
История браузера:
import { createBrowserHistory } from 'history';
const history = createBrowserHistory();
export default history;