#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:
есть два способа проверить это. Простой и сложный путь.
-
трудный путь, создайте apk для Android и поместите его в свой эмулятор для установки и тестирования.
-
Имитируйте переменную isConnected. Это изменит переменную через 5 секунд, так что вы можете увидеть, как она переходит из онлайн в офлайн.
const [isConnected, setIsConnected] = useState(NetInfo.isConnected);
const [type, setType] = useState(netInfo.type);
useEffect(()=>{
setTimeout(()=>{
setIsConnected(false);
},5000);
},[]);
// также необходимо изменить аргументы для поставщика контекста с NetInfo на переменные состояния.