值不存储在数组中AsyncStorage本机响应

时间:2018-01-31 04:51:37

标签: arrays react-native asyncstorage

我正在尝试将AsyncStorage中的值存储为数组,但是当我尝试从数组中获取值时,值不会保存并且什么都没有。任何帮助都会受到赞赏。谢谢你提前,这是我的代码:< / p>

let searchString = this.state.inputValue

AsyncStorage.getItem('searches', (res) => {
  var searches
  if (res === null) {
    searches = []
  }else {
    searches = JSON.parse(res)
  }
  searches.push({
      searchString: searchString
  })
  AsyncStorage.setItem('searches', JSON.stringify(searches), (res) => {
      console.log('====FirstPage====setItem==async==='+res)
  })
}); 

//从asyncstorage获取值:

AsyncStorage.getItem('searches', (res) => {console.log('===res==='+res)})

2 个答案:

答案 0 :(得分:0)

请试试这个

AsyncStorage.getItem("searches").then((value) => {
    this.setState({"searches": value});
}).done();

另见 https://www.thepolyglotdeveloper.com/2015/09/saving-data-in-your-react-native-mobile-application/

答案 1 :(得分:0)

您可以按如下方式存储数据:

|default('some value')

为了获取/获取,您可以使用以下方法执行此操作:

AsyncStorage.setItem('searches', JSON.stringify(searchString));