История вытесняет после замены

Я использую React Router в своем приложении. У меня есть фрагмент кода, который разрешает обещание и выдвигает на новый URL после этого. Тем не менее, я ловлю ошибки на следующем сайте, который подталкивается к componentDidCatch, Затем этот метод заменяет текущий URL. Я слушаю историю маршрутизатора, но кажется, что очередь истории немного отключена (обратите внимание, что фактическая навигация верна!):

history.listen(({ pathname }) => console.log(pathname));
Promise.resolve().then(() => history.push('/next'));

// on /next
history.replace('/fallback');

Я ожидаю такой вывод:

/next
/fallback

Но то, что я получаю, это:

/fallback
/next

Есть ли способ добиться ожидаемого поведения?

1 ответ

Попробуй это

Promise.resolve().then(() => history.push('/next')).then(()=> history.replace('/fallback'));
Другие вопросы по тегам