У меня есть роутер, который выглядит примерно так
<Router>
<Switch>
<Route path="abc.do" render={() => <SetupAppInitialLoad pageKey="abc" />} />
<Route path="xyz.do" render={() => <SetupAppInitialLoad pageKey="xyz" />} />
</Switch>
</Router>
У меня много Route
таких внутри <Switch>
. Я использую redux для обработки состояния и отправки асинхронных действий из некоторых компонентов, когда пользователь нажимает кнопку / ссылку.
export const asyncExampleAction = () => {
return (dispatch, getState) => {
//logic to send inputs to server comes here
.then(checkStatus)
.then(parseJSON)
.then( (data) => {
if (success case) {
history.push(`something.do?phase=something`);
} else {
//handle error logic
}
})
.catch( (error) => {
console.log(error);
});
}
}
Теперь проблема, с которой я столкнулся, заключается в том, что несмотря на то, что history.push обновляет URL-адрес и направляет меня к «something.do?phase=something», я не вижу, как обновляется история маршрута. Из-за этого (я думаю), когда я нажимаю на какую-то ссылку на странице something.do?phase=something, изменяется только URL-адрес страницы, но переход на эту новую страницу не происходит.
Я проверил Программную навигацию с использованием реагирующего маршрутизатора V4 и Программная навигация с использованием реагирующего маршрутизатора, но все равно никуда не денешься. Пожалуйста помоги.