#next.js #next-router
Вопрос:
У меня есть многоступенчатая форма с пользовательскими вводами на моем втором шаге. Итак, если сеть выйдет из строя или по какой-либо причине пользователю потребуется перезагрузить этот второй шаг с входными данными, я хочу, чтобы он мог это сделать, не переходя на маршрут по умолчанию. Однако, если пользователь хочет перемещаться между шагами ввода URL-адреса, он не должен быть в состоянии это сделать.
Этот фрагмент кода возвращает пользователя домой не только при ручной записи, но и при перезагрузке:
useEffect(() => {
router.replace("?step=0");
}, []);
Итак, я подумал проверить, если текущий путь в основном остается прежним, никакого маршрутизатора.замена не должна произойти. Мой код определенно нарушен, но я предполагаю, что мышление сзади должно быть правильным:
useEffect(() => {
if(router.asPath !== router.asPath ) {router.replace("?step=0")};
}, []);
Таким образом, в основном вопрос в том, как мне проверить, изменился ли путь, а затем заменить, если нет, то просто отрисовайте тот же шаг формы.