2

如果这个问题是由语法错误引起的,请原谅我,我是 React-Native 的新手,还有很多东西要学。

我按照文档尝试了 AsyncStorage,但它返回了一个错误。

class iCare extends Component {

constructor(props) {
super(props);

async getUserStatus(key){
  try{
    var value = await AsyncStorage.getItem(key);
    if (value == null || value == 0){
      console.log('No loggedIn key yet.');
      loggedIn: false;
    } else {
      console.log('loggedIn key existed');
      loggedIn: true;
    }
  }catch(error){
    console.log('caught error' + error);
  }
}
}

该错误表明AsyncStorage有问题,但为什么呢? 截屏

只是为了知识,在构造方法中执行 AsyncOperation 是否明智?

4

2 回答 2

2

已经很晚了,但试试这个:

constructor(props) {
  super(props);
}

async getUserStatus(key){
  try{
    var value = await AsyncStorage.getItem(key);
    if (value == null || value == 0){
      console.log('No loggedIn key yet.');
      loggedIn = false;
    } else {
      console.log('loggedIn key existed');
      loggedIn = true;
    }
  }catch(error){
    console.log('caught error' + error);
  }
}
于 2016-08-10T22:56:29.703 回答
1

您在这里使用对象表示法,而不是赋值:

     loggedIn: false;

应该:

//define logged in somewhere before let loggedIn = null;
loggedIn = true; 

或者:

//return an actual object?
return {loggedIn: false};

您还需要导入 AsyncStorage

var { AsyncStorage } = React;
于 2016-04-18T13:00:01.987 回答