#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. Спасибо. Это помогло