React Native:TypeError:undefined不是一个函数(评估' this.props.recipes.map')

时间:2018-03-20 16:13:06

标签: reactjs react-native asyncstorage

我正在尝试创建一个React Native食谱应用程序,您可以在其中保存您的食谱,但是当我添加AsyncStorage时出现以下错误: Screenshot

这是我的代码:

App.js: https://gist.github.com/anonymous/4e83b8c5ec797278c8a642dfca60c622

Recipes.js: https://gist.github.com/anonymous/c894357b3413f37dbf856c98ef6b93f4

1 个答案:

答案 0 :(得分:1)

AsyncStorage.getItem是异步的,因此this.state.recipes为null。您应该将componentWillMount()更改为

async componentWillMount(){
  let recipes = await AsyncStorage.getItem('recipes);
  if (recipes) {
     this.setState({ recipes });
  }
});

你应该确保你的this.state.recipes是一个数组。希望它有所帮助!