1*ef714860S猫头猫import NetInfo from '@react-native-community/netinfo'; 2*ef714860S猫头猫 3*ef714860S猫头猫let networkState: 'Offline' | 'Wifi' | 'Cellular'; 4*ef714860S猫头猫 5*ef714860S猫头猫function getState() { 6*ef714860S猫头猫 return networkState; 7*ef714860S猫头猫} 8*ef714860S猫头猫 9*ef714860S猫头猫const isOffline = () => networkState === 'Offline'; 10*ef714860S猫头猫 11*ef714860S猫头猫const isWifi = () => networkState === 'Wifi'; 12*ef714860S猫头猫 13*ef714860S猫头猫const isCellular = () => networkState === 'Cellular'; 14*ef714860S猫头猫 15*ef714860S猫头猫const mapState = (state: any) => { 16*ef714860S猫头猫 if (state.type === 'none') { 17*ef714860S猫头猫 networkState = 'Offline'; 18*ef714860S猫头猫 } else if (state.type === 'wifi') { 19*ef714860S猫头猫 networkState === 'Wifi'; 20*ef714860S猫头猫 } else { 21*ef714860S猫头猫 networkState === 'Cellular'; 22*ef714860S猫头猫 } 23*ef714860S猫头猫}; 24*ef714860S猫头猫 25*ef714860S猫头猫async function setup() { 26*ef714860S猫头猫 const state = await NetInfo.fetch(); 27*ef714860S猫头猫 mapState(state); 28*ef714860S猫头猫 29*ef714860S猫头猫 NetInfo.addEventListener(state => { 30*ef714860S猫头猫 mapState(state); 31*ef714860S猫头猫 }); 32*ef714860S猫头猫} 33*ef714860S猫头猫 34*ef714860S猫头猫const Network = { 35*ef714860S猫头猫 setup, 36*ef714860S猫头猫 getState, 37*ef714860S猫头猫 isOffline, 38*ef714860S猫头猫 isWifi, 39*ef714860S猫头猫 isCellular, 40*ef714860S猫头猫}; 41*ef714860S猫头猫 42*ef714860S猫头猫export default Network; 43