@react-native-community/react-native-device-info: NativeModule.RNDeviceInfo имеет значение null

Недавно я провел react-native initand when I ranreact-native run-ios и получил эту ошибку:

@react-native-community/react-native-device-info: NativeModule.RNDeviceInfo имеет значение null

Теперь вашим первым ответом будет сказать, что я, должно быть, установил его, а не связал... нет, вот мой файл package.json:

{
  "name": "NFIBEngage",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "react-native start",
    "test": "jest",
    "lint": "eslint ."
  },
  "dependencies": {
    "react": "16.8.6",
    "react-native": "0.60.4"
  },
  "devDependencies": {
    "@babel/core": "7.5.5",
    "@babel/runtime": "7.5.5",
    "@react-native-community/eslint-config": "0.0.5",
    "babel-jest": "24.8.0",
    "eslint": "6.1.0",
    "jest": "24.8.0",
    "metro-react-native-babel-preset": "0.55.0",
    "react-test-renderer": "16.8.6"
  },
  "jest": {
    "preset": "react-native"
  }
}

шаблонный

Так что я подумал, хорошо, так что позвольте мне попробовать react-native link react-native-device-info и, конечно же, я получаю это сообщение об ошибке:

error Unknown dependency. Make sure that the package you are trying to link is already installed in your "node_modules" and present in your "package.json" dependencies. Run CLI with --verbose flag for more details.

Что имеет смысл, поскольку я никогда не устанавливал его в первую очередь, так зачем ему быть в моих модулях узла.

Кто-нибудь знает, что происходит в мире @react-native-community, что я получаю эту ошибку с шаблонным приложением?

Вы сделали cd ios && pod install для запуска iOS?

Reza Ghorbani 28.07.2019 07:52

@RezaGhorbani, да, и ошибка остается прежней.

Daniel 28.07.2019 20:56
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
2
2 350
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Возможно, вы установили некоторые другие сторонние библиотеки, которые используют эту конкретную библиотеку. Это просто с некоторыми автоматическими процедурами связывания. Просто добавьте эту библиотеку через npm или yarn, как вам больше нравится, а затем свяжите их с помощью react native link. (Также попробуйте вручную связать один раз, если это повторяется). Надеюсь, это может решить эту проблему.

Ответ принят как подходящий

При работе над несколькими проектами React Native убедитесь, что Metro Bundler закрыт, прежде чем переключаться на другой проект.

Сборщик из другого проекта все еще работал, и родное приложение для нового проекта загружает оттуда пакет. Обычно вы можете увидеть ошибку, говорящую о том, что порт 8081 уже используется, но я, должно быть, полностью пропустил эту ошибку.

Другие вопросы по теме