AsyncStorage.setItem回调始终为空

时间:2017-10-06 17:15:23

标签: javascript reactjs react-native

我正在尝试使用AsyncStorage设置一个值,它似乎总是设置为null。为了做到这一点,我已经使用了异步/等待,但我也尝试将故障排除减少到只设置一个值并检查回调而我仍然是null。我在这里做错了什么想法?

AsyncStorage.setItem('something', 'VALUE') 
  .then((val) => { 
    this.setState({storageValue: val ? val : 'EMPTY'});
  })

这总是让我在我的州里“空旷”。

2 个答案:

答案 0 :(得分:2)

我在文档中找不到它但是根据示例代码代码,setItem似乎没有返回任何内容(结果在示例代码中被忽略)所以也许promise也没有解决任何问题。

您可以尝试设置然后获取它:

AsyncStorage.setItem('something', 'VALUE')
.then(x => AsyncStorage.getItem('something')
.then((val) => { 
  this.setState({storageValue: val ? val : 'EMPTY'});
})

答案 1 :(得分:0)

您有什么理由不能使用您传入setItem的内容吗?您可以使用相同的变量:

AsyncStorage.setItem('something', val) 
  .then(() => this.setState({storageValue: val ? val : 'EMPTY'}))