Тестирование и регистрация «Устройства в автономном режиме» в среде разработки react-native

#ios #react-native

#iOS #react-native

Вопрос:

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

Я использую библиотеку net-info, включенную в контекст, чтобы предоставить приложению информацию о состоянии подключения устройств:

 const Connection = ({ children })=>{

    const netInfo = useNetInfo();

    const {
        isConnected,
        type,
    } = netInfo;
 

    useEffect(()=>{
        console..log(`CONNECTION ${isConnected} ${type}`);  
    },[ isConnected, type]);

    return (
        <ConnectionContext.Provider
            value={{
                online: netInfo.isConnected,
                type: netInfo.type,
            }}
        >
            { children }
        </ConnectionContext.Provider>
    )
}
  

Если я вручную отключу Wi-Fi и данные, приложение потеряет соединение с сервером разработки и перестанет предоставлять мне информацию / журналы, и я не могу следить за происходящим.

Как мне обойти это?

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

1. вы пытались подключить свой телефон с помощью кабеля или использовать симулятор для этого?

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

Ответ №1:

есть два способа проверить это. Простой и сложный путь.

  1. трудный путь, создайте apk для Android и поместите его в свой эмулятор для установки и тестирования.

  2. Имитируйте переменную isConnected. Это изменит переменную через 5 секунд, так что вы можете увидеть, как она переходит из онлайн в офлайн.

const [isConnected, setIsConnected] = useState(NetInfo.isConnected);

 const [type, setType] = useState(netInfo.type);

useEffect(()=>{
  setTimeout(()=>{
     setIsConnected(false);
  },5000);
 },[]);
  

// также необходимо изменить аргументы для поставщика контекста с NetInfo на переменные состояния.