0
我想從AsyncStorage獲取存儲值。但它給出null不是一個對象錯誤。 這是我的代碼。null不是一個對象
import React, { Component } from 'react';
import { AsyncStorage, Image, View, StatusBar } from 'react-native';
import { connect } from 'react-redux';
import { Container, Button, H3, Text, Header, Title, Content, Icon, Footer, FooterTab, Left, Right, Body } from 'native-base';
import { openDrawer } from '../../actions/drawer';
import styles from './styles';
import Anatomy from '../anatomy/index.js';
const launchscreenBg = require('../../../img/abc.png');
const launchscreenLogo = require('../../../img/mob_app_bg.png');
var STORAGE_KEY_USER = '@ExpLocal:user';
class Home extends Component { // eslint-disable-line
componentDidMount() {
this._loadInitialState().done();
}
async _loadInitialState() {
try {
var user = await AsyncStorage.getItem(STORAGE_KEY_USER);
if (user !== null){
this.setState({selectedUser: user});
this._appendMessage('Logged In User: ' + user);
} else {
this._appendMessage('Empty');
}
} catch (error) {
this._appendMessage('AsyncStorage error: ' + error.message);
}
}
getInitialState() {
return {
selectedUser: null,
messages: [],
};
}
static propTypes = {
openDrawer: React.PropTypes.func,
}
render() {
this._loadInitialState().done();
// var loggedUser = this.state.selectedUser;
if(this.state.selectedUser !== null){
return (
<Container style={styles.container}>
<Header>
<Left>
<Button transparent onPress={this.props.openDrawer}>
<Icon name="ios-menu" />
</Button>
</Left>
<Body>
<Title>Home</Title>
</Body>
<Right />
</Header>
</Container>
);
}else{
return (
<Anatomy />
);
}
}
}
function bindActions(dispatch) {
return {
openDrawer:() => dispatch(openDrawer()),
};
}
const mapStateToProps = state => ({
navigation: state.cardNavigation,
themeState: state.drawer.themeState,
routes: state.drawer.routes,
});
export default connect(mapStateToProps, bindActions)(Home);
給出以下錯誤 null不是(評價 'this.state.selectedUser')的對象 E:\ REACT_NATIVE_PROJECTS \ NativeBase-的KitchenSink主\ JS \部件\家\ index.js:49: 18 我做錯了什麼?
你的意思是這樣的異步_loadInitialState(){ AsyncStorage.getItem( 「STORAGE_KEY_USER」),那麼((值)=> { 變種用戶=值; this.setStatus({selectedUser:?用戶}); //您的功能 })。catch((error)=> {Catch Block }); } –
是@NeshanManilka –