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