react-native-network-info ‘null не является объектом’

#react-native #unhandled-promise-rejection

#react-native #необработанное обещание-отклонение

Вопрос:

Не имеет значения, какую функцию react-native-network-info я использую, я всегда получаю предупреждение ([Отклонение необработанного обещания: ошибка типа: null не является объектом (оценка ‘RNNetworkInfo.getGatewayIPAddress’)]), и функция ничего не возвращает. Смотрите пример кода. Я также уже пытался сделать это точно так же, как в документации (https://www.npmjs.com/package/react-native-network-info ):

 // Get Default Gateway IP
NetworkInfo.getGatewayIPAddress().then(defaultGateway => {
  console.log(defaultGateway);
});
  
 import { NetworkInfo } from "react-native-network-info";

 _updateStates = () => {
    ...
    ...

    NetworkInfo.getGatewayIPAddress((gateway) => {
      console.log(gateway);
    });
  };
  

Комментарии:

1. это запись в журнал не определена или что-то еще?

2. он не регистрирует ничего, кроме предупреждения

Ответ №1:

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

Это указано в документации библиотеки для ручной настройки. Но не выполняйте 3-й шаг, иначе ваш проект ios не будет собран. Я попробовал следующий метод из библиотеки ,

 NetworkInfo.getIPAddress().then((ipAddress) => {
      console.log(ipAddress);
    });
  

и это сработало.

Комментарии:

1. Я использую expo, как я могу получить доступ к этим настройкам там? (и я тестирую на Android, поэтому я буду следовать инструкциям для ручного связывания для Android)

2. на самом деле, вероятно, это было что-то со связыванием, потому что без использования expo это работает!

Ответ №2:

Вы не добавили «тогда» в свой код .Попробуйте это

 _updateStates = () => {
    ...
    ...

    NetworkInfo.getGatewayIPAddress().then(gateway => {
     console.log(gateway);
    });
  };
  

Комментарии:

1. Как я уже писал: я уже пробовал это таким образом (и попробовал еще раз прямо сейчас). Я все еще получаю точно такое же предупреждение, и функция ничего не возвращает.