Объяснение ReactNative Eject

Я буквально начал читать о ReactNative час назад и читаю этот git readme https://github.com/react-community/create-react-native-app/blob/master/react-native-scripts/template/README.md

Затем я разобрался с ней и нашел эту ссылку, которая, кажется, объясняет это, но не для меня, новичок в Интернете, реагирует или реагирует на https://github.com/react-community/create-react-native-app/blob/master/EJECTING.md

Может ли кто-нибудь объяснить мне, как будто мне 2 года, что означает выброс? Я продолжаю слышать термин "выброшенный проект", но я не могу обернуть его вокруг.

Ответ 1

Резюме

Если вы создали приложение, использующее create-react-native-app MyApp с помощью create-react-native-app MyApp, извлечения вашего приложения будет ваше приложение таким же, как если бы вы создали свой проект, используя react-native init MyApp

ака

create-react-native-app MyApp > внести изменения в приложение> извлечь приложение

примерно эквивалентно

react-native init MyApp > вносить изменения в приложение

Подробнее

Какая разница между create-react-native-app MyApp и react-native init MyApp?

Быстрый старт и полномасштабное развитие

Философия создания-реагирования-родного приложения:

  • Минимальное время "Время для Hello World": создать приложение React Native должно сократить время настройки, необходимое для создания мобильного приложения до абсолютного минимума, в идеале наравне с веб-разработкой React (особенно, как показано в приложении Create React).
  • Разработайте на своем устройстве: его следует легко разрабатывать на физическом устройстве, когда вы хотите проверить, как ваше приложение чувствует себя и реагирует на входные данные.
  • One Build Tool: если вы просто хотите начать работу с React Native, вам не нужно устанавливать Xcode, Android Studio, NDK или беспорядок с переменными окружения.
  • No Lock-In: вы всегда можете "извлечь" свою собственную сборку, если вам нужно написать собственный собственный код или изменить способ создания вашего приложения.

По сути, приложение create-react-native-app позволяет быстро вставать и работать без необходимости выполнять много (или любую) конфигурацию. Для этого он скрывает от вас много деталей.

Если вы хотите создать серьезное приложение, вам необходимо создать реальную среду разработки. Вы можете сделать это с нуля, выполнив react native init <project-name>. Если вы начали с реагирования на собственный проект с помощью приложения create-react-native-app, вы можете добраться до этого же места путем "извлечения" вашего приложения

Более подробную информацию из официальной документации о начале работы с React Native можно найти здесь.

Ответ 2

Насколько я понимаю, когда вы запускаете "create-реагировать-нативное приложение" (или "expo init" сейчас), вы в основном добавляете библиотеку "Экспо" поверх React Native.

Я думаю, что главная причина использования Expo - это быстрое запуск вашего приложения. Я думаю, что основная причина для удаления состоит в том, что в конечном итоге вам может потребоваться выполнить более сложную настройку с использованием собственного кода, и потребуется больше контроля и т.д. Вот лучшее объяснение Expo vs React Native CLI для начальной загрузки вашего приложения:

https://levelup.gitconnected.com/expo-vs-react-native-cli-a-guide-to-bootstrapping-new-react-native-apps-6f0fcafee58f

Когда вы извлекаете, вы возвращаетесь в то же состояние, как если бы вы не использовали Expo для настройки своего приложения (будут созданы собственные проекты ios/android и т.д.)

Вот несколько других ссылок, которые помогли мне понять: http://www.reactnativeexpress.com/environment

https://docs.expo.io/versions/latest/expokit/eject/