#reactjs #react-router
#reactjs #реагировать-маршрутизатор
Вопрос:
Я пытаюсь реализовать кнопку «вернуться» к шагу, но по какой-то причине при этом она продолжает возвращать ошибку «Страница 404 не найдена». Похоже, что это работает только при переходе к шагу 2 и возвращении к первому шагу (или маршруту по умолчанию)..
Настройка маршрута:
<Router>
<Route exact path='/onboard/' component={Main} />
<Route path='/onboard/step2' component={Step2} />
<Route path='/onboard/step3' component={Step3} />
<Route path='/onboard/summary' component={Summary} />
</Router>
Функция возврата:
const handleBack = () => {
props.history.go(-1);
};
Кроме того, поскольку это «вложенный URL» (так сказать), необходимо ли добавить следующее в мой onSubmit для шага 2 или есть альтернативный способ сделать это?
const onSubmit = (data) => {
action(data);
props.history.push('./onboard/step2');
};
Все, что следует за вторым шагом, похоже, работает с:
const onSubmit = (data) => {
action(data);
props.history.push('./summary');
};
Ответ №1:
если вы console.log('history', history)
должны увидеть goBack()
метод, который вы можете вызвать
РЕДАКТИРОВАТЬ: вот как вы это используете props.history.goBack()
добавьте это к кнопке <button onClick={()=> props.history.goBack()}>go back</button>
Комментарии:
1. Даже используя GoBack(), я все еще получаю ошибку 404, страница не найдена, и я не могу понять, почему…
2. это работает для меня. используете ли вы browserHistory? или хэш?
3. Я использую то же самое, что и следующее: codesandbox.io/s/react-hook-form-wizard-form-gxvvc