首页 > 解决方案 > AsyncStorage 下面的代码没有运行

问题描述

我正在开发我的第一个 React Native 应用程序。我正在尝试了解 AsyncStorage 的工作原理,但即使据说它很简单,我也无法让它工作。

每当更新商店时,我都会尝试将数据保存到存储中。问题是行下方的代码:“await AsyncStorage.setItem("TODOS", jTodo)" 似乎没有运行。我不知道问题是什么...

const unsubscribe = store.subscribe(save);

async function save(){
  try {
    const todos = store.getState().todos
    console.log(todos)
    const jTodo = JSON.stringify(todos)
    await AsyncStorage.setItem("TODOS", jTodo)
    console.log("saving 2: " + todos);

  } catch (e) {
    console.error('Failed to save todos.' + todos)
  }
}

当我尝试从存储中加载数据时也是如此。再次,行下方的代码:“const jTodos = await AsyncStorage.getItem('TODOS')”似乎没有运行。

async function load() {
  try {
      console.log("so far even better")
      const jTodos = await AsyncStorage.getItem('TODOS')
      const todos = JSON.parse(jTodos);
      console.log(todos);
      todos.map((todo) => this.props.addTodo(todo))   
  } catch (e) {
      console.error('Failed to load todos.')
  }
}

load();

我希望你们中的一些人能指出问题所在!先感谢您!!

标签: react-nativeasyncstorage

解决方案


如果您使用的是 android,则存在无法正常工作的已知问题。从android studio“冷启动”你的模拟器。

https://github.com/facebook/react-native/issues/14101


推荐阅读