首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在react本机中默认设置isConnected值为假

如何在react本机中默认设置isConnected值为假
EN

Stack Overflow用户
提问于 2021-01-19 13:40:04
回答 1查看 100关注 0票数 0

我对原生反应还很陌生。我已经创建了一个无互联网连接检查屏幕。现在我想测试一下是否没有网络连接。那么我如何设置isConnected的值为假。

以下是我的代码

代码语言:javascript
运行
复制
 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>
  );
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-19 14:03:13

您必须使用useState挂钩,将默认值设置为true,如果已连接,则更新状态为false。

代码语言:javascript
运行
复制
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://reactjs.org/docs/hooks-state.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65786041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档