React native TypeError:null不是对象(计算';(u reactNativeDefaultPreference.default.get';))

React native TypeError:null不是对象(计算';(u reactNativeDefaultPreference.default.get';)),react-native,React Native,当用户首次登录时,业务id将为空,然后在WebViewPage调用后,我将值存储在业务id和资源id中。最初它没有任何值,我不知道如何处理此条件。我希望在存储业务id和资源id后从DefaultPreference中检索业务id和资源id,但我遇到上述错误。谢谢你的帮助 import React from 'react'; import {View,ImageBackground, Image, Platform} from 'react-native'; import NetInfo fro

当用户首次登录时,业务id将为空,然后在WebViewPage调用后,我将值存储在业务id和资源id中。最初它没有任何值,我不知道如何处理此条件。我希望在存储业务id和资源id后从DefaultPreference中检索业务id和资源id,但我遇到上述错误。谢谢你的帮助

import React from 'react';
import {View,ImageBackground, Image, Platform} from 'react-native';

import NetInfo from "@react-native-community/netinfo"
import DefaultPreference from 'react-native-default-preference';

export default class SplashScreen extends React.Component {
    constructor(props) {
      super(props);
      var SharedPreferences = require('react-native-shared-preferences');
      if (Platform.OS === 'android') {
      SharedPreferences.getItems(["business_entity_id","resorce_id","userid"],(values) => {
        console.log("after");
        const business_entity_id = values[0]
        if (business_entity_id === null)
        {
            business_entity_id = ""
        }
        const resorce_id = values[1]
        if (resorce_id === null)
        {
            resorce_id = ""
        }
        console.log(business_entity_id);
    
        setTimeout(() => {
         
            load();
       
      }, 2000);
    
      load = () => {
       
        let internetconnection = NetInfo.addEventListener(state => {
    
            if (state.isConnected === true) 
            {
                console.log(business_entity_id);
                if (business_entity_id == ""  && resorce_id == "") {
                    
                    props.navigation.navigate('PracticeCode');
                   
                }
                else if(resorce_id == "")
                {
                    props.navigation.navigate('DoctorDetails');
                }
                else {
                    console.log("next")
                    props.navigation.navigate('Calendar');
                }
            }
            else {
                Alert.alert("Alert",
                    "Please check your Internet Connection");
            }
        });
    };
    });
       
}
else{

    setTimeout(() => {   
        load();
      }, 2000);

  load = () => {
   
    let internetconnection = NetInfo.addEventListener(state => {

        if (state.isConnected === true) 
        {
            DefaultPreference.get('business_entity_id').then(function(value) {console.log(value)});
            DefaultPreference.get('userid').then(function(value) {console.log("userid",value)});

             props.navigation.navigate('PracticeCode');
               
        }
        else {
            Alert.alert("Alert",
                "Please check your Internet Connection");
        }
    });
};

}
    }
    render() {
        return (
        <View style={ {
            width: '100%'
          }}>
    <View>
    <ImageBackground source={require('./../assets/bg.jpg')} style={ {
        resizeMode: "cover",
        justifyContent: "center",
        alignItems: 'center',
        width: '100%',
        height: '100%'
    }}>
        <View style={{
        position: "absolute",
        left: 0,
        width: '100%',
        height: '100%',
        backgroundColor: '#fff',
        opacity: 0.9
    }}></View>
        <Image style={ {
        width: 250,
        resizeMode: 'cover'
    }} source={require('./../assets/splash.png')} />
    </ImageBackground>
    </View>
   
</View>
        );
    }
}
从“React”导入React;
从“react native”导入{View,ImageBackground,Image,Platform};
从“@react native community/NetInfo”导入NetInfo
从“react native default preference”导入DefaultPreference;
导出默认类SplashScreen扩展React.Component{
建造师(道具){
超级(道具);
var SharedPreferences=require('react-native-shared-preferences');
如果(Platform.OS==='android'){
SharedReferences.getItems([“业务实体id”、“资源id”、“用户id],(值)=>{
控制台日志(“之后”);
常量业务实体id=值[0]
if(业务实体id==null)
{
业务实体id=“”
}
const resorce_id=值[1]
if(resorce_id==null)
{
resorce_id=“”
}
console.log(业务实体id);
设置超时(()=>{
加载();
}, 2000);
加载=()=>{
让internetconnection=NetInfo.addEventListener(状态=>{
如果(state.isConnected==true)
{
console.log(业务实体id);
如果(业务实体id==“”&资源id==“”){
道具.导航.导航('PracticeCode');
}
else if(resorce_id==“”)
{
props.navigation.navigate('DoctorDetails');
}
否则{
console.log(“下一步”)
道具。导航。导航(“日历”);
}
}
否则{
警惕,警惕(“警惕”,
“请检查您的互联网连接”);
}
});
};
});
}
否则{
setTimeout(()=>{
加载();
}, 2000);
加载=()=>{
让internetconnection=NetInfo.addEventListener(状态=>{
如果(state.isConnected==true)
{
get('business_entity_id')。然后(函数(值){console.log(值)});
DefaultPreference.get('userid')。然后(函数(值){console.log(“userid”,值)});
道具.导航.导航('PracticeCode');
}
否则{
警惕,警惕(“警惕”,
“请检查您的互联网连接”);
}
});
};
}
}
render(){
返回(
);
}
}