Как разделить реакцию-финал между страницами / экранами - PullRequest
0 голосов
/ 10 октября 2019
  • реакция-нативная
  • реакция-окончательная форма
  • rect-navigation

Мне нужно разделить мою форму на подчиненные формы. Подформы будут отображаться на отдельных экранах в React-Native, но мне нужно, чтобы они были частью одного и того же объекта обработки форм. Из каждой подчиненной формы мне нужен доступ к полному состоянию формы (для всех полей), но каждая подчиненная форма будет отображать только некоторые поля.

Есть ли способ передать объект формы на другой экран / компонент и продолжитьиспользовать обработку / проверку состояния из основной формы?

Пример:

MainForm
  FieldX
  FieldY
  Button to open subform A
    SubFormA
      FieldA1
      FieldA2
      FieldX <- reused from main form, might be readonly in subform A
      Button to go back to main form
  Button to open subform B
    SubFormB
      FieldB1
      Button to go back to main form

Фактическая отправка формы может быть выполнена только из MainForm. У меня есть эта настройка со старой библиотекой форм, но я использую модалы, чтобы показать подчиненные формы, которые встроены в основную форму. Но я бы хотел прекратить использовать модалы и вместо этого выдвинуть отдельный экран (используя реагирующую навигацию) с возможностями подчиненной формы, каким-то образом передавая объект формы.

Ответы [ 2 ]

0 голосов
/ 10 октября 2019

Вы можете использовать React Redux , чтобы иметь Магазин, чтобы иметь возможность делиться всей информацией. Создайте свой магазин и отправьте свои действия, после чего вы сможете получить все переменные (поля) для формы.

0 голосов
/ 10 октября 2019

Я поиграл еще немного и нашел способ. Думаю, я отвечу на этот вопрос, чтобы другие могли его найти.

  • Свойство render компонента Form фактически получает экземпляр формы в качестве аргумента.

  • Компонент Form также принимает экземпляр формы в качестве реквизита

Эти две функции позволяют просто передать экземпляр формы другому компоненту Form. Я попробовал это на том же экране, и это работает как шарм. Надеюсь, у меня не возникнет проблем с отключением основного Form, когда я нажму на следующий экран с реагирующей навигацией.


edit: Он также отлично работает между экранами. Я отправляю экземпляр формы подчиненной форме через объект params реагирующих навигаций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...