我对原生反应还很陌生。我已经创建了一个无互联网连接检查屏幕。现在我想测试一下是否没有网络连接。那么我如何设置isConnected的值为假。
以下是我的代码
import React, { Component } from "react";
import { View, Text, Button, Alert, Platform, alert } from "react-native";
import {useNetInfo} from "@react-native-community/netinfo";
import { MaterialIcons } from '@expo/vector-icons';
export const NoConnection = ({navigation}) => {
const netInfo = useNetInfo();
if (netInfo.isConnected) {
navigation.navigate("Login")
}
return (
<View>
<Text>Type: {netInfo.type}</Text>
<Text>Is Connected? {netInfo.isConnected.toString()}</Text>
</View>
);
}
发布于 2021-01-19 14:03:13
您必须使用useState挂钩,将默认值设置为true,如果已连接,则更新状态为false。
import React, { Component,useState } from "react";
import { View, Text, Button, Alert, Platform, alert } from "react-native";
import NetInfo,{useNetInfo} from "@react-native-community/netinfo"
import { MaterialIcons } from '@expo/vector-icons';
export const NoConnection = ({navigation}) => {
const netInfo = useNetInfo();
//declare a isConnected hook with default true
const [isConnected, setConnectedState] = useState(true)
NetInfo.fetch().then(state => {
setConnectedState(state.isConnected)
});
if(isConnected === false) {
console.log("Is connected is", isConnected)
} else {
console.log("Is connected is", isConnected)
}
}
return (
<View>
<Text>Type: {netInfo.type}</Text>
<Text>Is Connected? {netInfo.isConnected.toString()}</Text>
</View>
);
}
你可以通过下面的链接进一步了解钩子和状态。
https://stackoverflow.com/questions/65786041
复制相似问题