Как сохранить значения формы предыдущей формы при нажатии кнопки «Назад» в react

#javascript #reactjs #formik #react-forms

Вопрос:

Я хочу сохранить значения формы предыдущей формы, когда мы нажимаем кнопку «Назад» на следующей.

Так что на самом деле я храню все значения формы в состоянии, называемом InstructionData. Единственная проблема, с которой я сталкиваюсь, заключается в функции, которая была вызвана, когда мы нажимаем кнопку «Назад». Я не хочу использовать историю, потому что я не хочу переходить на другой маршрут, поэтому я вызываю действие для настройки экрана при вызове кнопки «Назад».

Теперь возникает вопрос, как поместить все это в функцию, чтобы onBackButtonClick была функцией, которая вызывалась бы при нажатии кнопки «Назад», данные инструкции хранятся. и мне нужно поместить эти данные инструкции в значения начальной формы

onBackButtonClick = (Данные инструкции) => {

?????

}

Мне нужна помощь с функцией. Спасибо

Комментарии:

1. Если вы поднимете состояние формы до компонента, который не отключается во время навигации, вы можете просто передать его в форму, и она сохранит все значения независимо от того, на какой шаг вы перейдете.

2. да, но мне нужно сохранить эти значения при нажатии кнопки «Назад», так будет ли это реализовано в функции кнопки «Назад»? @ChrisG

3. Нет, ваш вопрос означает, что вы не поняли моего предложения. Поднятие состояния является базовым механизмом реагирования и означает, что вы перемещаете переменную состояния к родителю, а затем передаете значение и функцию настройки дочернему элементу. Если вы сделаете это, вам вообще не придется беспокоиться о кнопке «Назад»; вы просто заставите ее отображать предыдущую часть формы, и, поскольку значения формы передаются в качестве реквизитов от родителя, все ранее введенные данные появятся снова.

4. Вот основная идея: codesandbox.io/s/winter-meadow-ebgov?file=/src/App.js (Хотя я никогда не использовал formik, так что вам, возможно, придется соответствующим образом это скорректировать)

5. Спасибо. Это помогло