我正在构建一个小组件,它会显示一个红色条带,上面写着“无连接”。当我关闭wifi时,它可以正常工作,横幅出现正常。但是当我打开wifi后,NetInfo似乎没有收到事件,因此横幅仍然停留在原地。
控制台日志在打开WiFi时不会打印任何内容,所以我认为netinfo没有更新。
这是我的OfflineNotice组件:
import React, {useState, useEffect} from 'react';
import {View, StyleSheet, Dimensions, Text} from 'react-native';
import NetInfo from '@react-native-community/netinfo';
const {width} = Dimensions.get('window');
const OfflineNotice = () => {
const [connected, setConnected] = useState(true);
useEffect(() => {
NetInfo.addEventListener((state) => {
console.log(state);
setConnected(state.isInternetReachable);
});
}, []);
return (
<View>
{!connected && (
<View style={styles.offlineContainer}>
<Text style={styles.offlineText}>No Internet Connection</Text>
</View>
)}
</View>
);
};
const styles = StyleSheet.create({
offlineContainer: {
backgroundColor: '#b52424',
height: 30,
justifyContent: 'center',
alignItems: 'center',
flexDirection: 'row',
width,
position: 'absolute',
top: 30,
},
offlineText: {
color: '#fff',
},
});
export default OfflineNotice;
@react-native-community/netinfo
和react-native-offline
来创建一个OfflineNotice
,但它们都不起作用。你能在这里帮助我吗? - Kartikey