React Native: TypeError: undefined не является функцией (оценка 'this.props.recipes.map')

Я пытаюсь создать приложение для рецептов React Native, в котором вы можете сохранять свои рецепты локально, но при добавлении AsyncStorage я получаю следующую ошибку: Снимок экрана

Вот мой код:

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

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

1 ответ

Решение

AsyncStorage.getItem является асинхронным, поэтому ваш this.state.recipes имеет значение null. Вы должны изменить свой componentWillMount() на

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

И вы должны убедиться, что ваш this.state.recipes является массивом. Надеюсь, поможет!

Другие вопросы по тегам