В чем разница между Реагироватьrouter.push и router.replace?





История страниц, которые вы посещаете в своем веб-браузере, похожа на структуру данных stack. Вы можете либо push создать новую запись на вершине стека истории, либо вы можете replace наверху записи. Если вы используете push, а затем нажмете кнопку возврата в браузере, он вернет вас на страницу, на которой вы сейчас находитесь, но если вы используете replace, он вернет вас на две страницы назад.
История маршрутизатора работает как stack из routes. Когда вы используете router.replace, вы перезаписываете верхнюю часть стека. При использовании router.push он добавляет новый маршрут в начало stack.
История маршрутизатора позволяет вернуться на последнюю страницу. Например, когда пользователь переходит на недопустимый маршрут, вы можете использовать router.replace, чтобы предотвратить переход пользователя обратно к недопустимому маршруту.