ios - 在 react-native 开发环境中测试和记录“Device Offline”
问题描述
我正在为我的应用程序构建离线功能,并且无法弄清楚如何正确测试它们。
我正在使用包装在上下文中的 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>
)
}
如果我手动断开 wifi 和数据连接,应用程序将失去与开发服务器的连接并停止向我提供信息/日志,我无法真正了解正在发生的事情。
我该如何解决这个问题?
解决方案
有两种方法可以对此进行测试。简单的方法和困难的方法。
艰难的方式,为android创建一个apk并将其放入您的模拟器中进行安装和测试。
模拟 isConnected 变量。这将在 5 秒后更改变量,因此您可以看到它从在线变为离线。
const [isConnected, setIsConnected] = useState(netInfo.isConnected);
const [type, setType] = useState(netInfo.type);
useEffect(()=>{
setTimeout(()=>{
setIsConnected(false);
},5000);
},[]);
//还需要将上下文提供程序的参数从 netInfo 更改为状态变量。
推荐阅读
- android - 在华为 mapkit 中获取我的位置按钮的参考
- r - R:随机森林回归模型中的错误训练数据
- channel - 在“goland”中调试通道
- visual-studio-code - 如何在 VS Code 中为一种文件类型配置多个查看器?
- python - Swift vDSP rFFT 与 Python np.fft.rfft() 不同
- azure - Azure 自动化无法将参数传递给 VM 内的 powershell 脚本
- wso2 - 创建辅助用户存储时 WSO2 IS 5.9 错误
- java - 集群(多个实例)Quartz 调度程序中断 API 无法有效工作
- python - 如何重塑 BatchDataset 类张量?
- java - 如何调整JVM的默认内存大小比例