在 React Native 中,你可以使用 NetInfo 模块来获取设备的网络连接状态。这对于处理网络相关的功能,例如检查是否有网络连接、监听网络状态变化等,非常有用。

以下是使用 NetInfo 模块的基本示例:

1. 导入 NetInfo 模块:
   import NetInfo from '@react-native-community/netinfo';

   请确保你已经安装了 @react-native-community/netinfo 包。

2. 获取当前网络状态:
   NetInfo.fetch().then((state) => {
     console.log('Connection type', state.type);
     console.log('Is connected?', state.isConnected);
   });

   使用 fetch 方法获取当前的网络状态。state.type 表示连接类型(例如 'wifi'、'cellular'),而 state.isConnected 是一个布尔值,表示设备是否连接到网络。

3. 监听网络状态变化:
   const unsubscribe = NetInfo.addEventListener((state) => {
     console.log('Connection type', state.type);
     console.log('Is connected?', state.isConnected);
   });

   // 取消监听
   unsubscribe();

   使用 addEventListener 方法添加一个网络状态变化的监听器,以便在网络状态发生变化时收到通知。在需要取消监听时,使用返回的函数(unsubscribe)来取消注册监听器。

4. 订阅网络状态变化:
   const subscription = NetInfo.addEventListeber('connectionChange', (state) => {
     console.log('Connection type', state.type);
     console.log('Is connected?', state.isConnected);
   });

   // 取消订阅
   subscription();

   使用 addEventListeber 方法添加一个网络状态变化的订阅者,以便在网络状态发生变化时收到通知。在需要取消订阅时,调用返回的函数来取消订阅。

这些是基本的用法示例,可以根据你的应用需求进一步扩展。确保查阅 @react-native-community/netinfo 包的官方文档,因为具体的 API 可能会有所改变。


转载请注明出处:http://www.zyzy.cn/article/detail/9494/React Native