Повторное использование экранов React Native в приложениях - PullRequest
1 голос
/ 25 мая 2020

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

Как я могу поместить экран входа и регистрации с навигацией в качестве многоразового компонента (или локального npm пакета) в собственном реагировании с некоторыми реквизитами (например, вход в систему с посадочного экрана)?

Я перехожу с Xamarin, где это было довольно просто, создайте стандартную библиотеку. NET с XAML для обоих экранов и используйте их во всех приложениях. Не нашел способа добиться того же в react native.

1 Ответ

0 голосов
/ 25 мая 2020

В вашем случае я буду повторно использовать только часть пользовательского интерфейса между проектами. Как вы сказали, вам нужен компонент для каждого из ваших экранов: экран входа в систему, экран создания учетной записи и c.

Эти компоненты должны быть:

  • без сохранения состояния

  • должен использовать реквизиты (для настройки, для обратного вызова вашего приложения при нажатии кнопки и т. Д. c)

  • должно не зависит от вашего проекта

  • Лог c должен быть реализован в вашем проекте, а не в этих компонентах (например, запрос на вход)

  • Также, если вы используете Redux, ваш компонент не должен напрямую зависеть от него

  • Если вашим компонентам нужны данные из Redux Store, используйте контейнеры Redux, которые должны быть частью вашего приложения, а не вашего lib

Finnaly, как вы сказали, вы можете опубликовать sh свои компоненты на npm;)

Ох, я почти забудьте, добро пожаловать в React-Native ! :)


X = 0

Не стесняйтесь редактировать, если мне что-то не хватает

Увеличивайте X, если вы редактируете мой пост ♥

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