Я новичок в RN, и я был бы признателен, если бы я мог получить немного отзывов о том, правильно ли я установил проект React Native с модулем и его примером. Мне не удалось найти ресурсы, которые правильно объясняют весь этот процесс.
Модуль и пример, которые я пытаюсь установить, это ReactNative: Native Photo Editor: https://github.com/prscX/react-native-photo-editor
Я считаю, что у меня есть правильные предварительные условия для Node.js, Java и Android Studio, все последние официальные версии. Насколько я понимаю, этот модуль не поддерживает Expo, который у меня есть, но я использую для этого npx.
Мой процесс:
npx react-native init test
cd test
yarn add react-native-photo-editor
Download project Zip, extract Example folder content to /test
Add code to built.gradle and app activities as instructed in [1]
npx react-native run-android
Это правильный способ добавления модуля на RN или я что-то не так делаю?
Привет @SagarShakya. Извините, я забыл добавить это в процесс, я, конечно, полностью придерживался инструкции и сделал обновления. Я отредактирую описание, извините, что забыл об этом. После завершения этой части процесс будет считаться правильным способом установки модуля RN?
Процесс установки зависит от пакета. Для некоторых просто выполнение yarn add
или npm install
запустит пакет, но для некоторых пакетов те, которые должны взаимодействовать с собственными модулями, например, этот пакет react-native-photo-editor
требует разрешения для камеры и хранилища, поэтому вам придется делать обновления в собственные файлы Android и IOS.
Существует два типа библиотеки RN: JS Only
и JS + Native Code (I called RN Module)
. Когда вы устанавливаете библиотеку только с JS, просто запустите npm install --save library_name
или yarn add library_name
. Достаточно. Если вы устанавливаете модуль RN, после установки библиотеки вы должны связать его, чтобы соединить Javascript и собственный код. Простой способ узнать тип библиотеки RN: посмотрите на структуру исходного кода в github/node_modules, если вы видите папку android/ios, это может быть RN Module
.
Начиная с RN 0.60, React Native CLI поддерживал автоматическое связывание. Если автоматическое связывание не работает, вы должны следовать разделу ручной установки в документе модуля.
Если в вашем проекте используется RN <0,60, запустите react-native link module_name
, чтобы связать библиотеку.
Некоторые модули используют нативную часть, такую как xml, android Activity,... и используют некоторые разрешения, такие как CAMERA, STORAGE, WRITE_EXTERNAL_STORAGE,... поэтому, если вы устанавливаете его, вы должны следовать их настройке документа, чтобы его можно было использовать. Например, вы используете react-native-photo-editor, он использует действие Android для отображения редактора, поэтому вы должны добавить его в Androidmanifest.xml.
Вкратце: добавьте библиотеку из npm -> проверьте модуль RN -> документ Setup base module. Извините за мой плохой английский.
Для этого пакета требуется дополнительная настройка. Чтобы этот пакет работал на Android, вам необходимо внести обновления в файл build.gradle и файл манифеста. Пожалуйста, перейдите в раздел «Начало работы»: github.com/prscX/react-native-photo-editor#rn61--rnpe-v1-