У меня есть сценарий, когда я передаю данные из редуктора в состояние реакции.Проверка на неопределенное в действии
данные:
{
"id": 1,
"title": "Test",
"content": {
"body": "sdfsdf"
"image": "http://example.com"
}
}
Использование componentWillRecieveProps, это прекрасно работает для получения титула.
componentWillReceiveProps(nextProps) {
this.setState({
title: nextProps.blog.title,
})
}
Однако, мне трудно получить вложенные поля. Когда я делаю это:
componentWillReceiveProps(nextProps) {
console.log("new title is", nextProps.blog.title);
console.log("new body content is", nextProps.blog.content["body"]);
this.setState({
title: nextProps.blog.title,
body: nextProps.blog.content["body"]
})
}
Я получаю эту ошибку:
Ошибка неопределенного тела уходит после я нажимаю отладчик и содержимое загружается. В любом случае, я могу бороться с этой проблемой?
Я пытался проверить неопределенными, как это:
if (typeof nextProps.blog.content["body"] != 'undefined'){
Но это не сработало, и я считаю, что это потому, что блог не определен.
Я думаю, ваша ошибка состоит в том, что ваше «тело» вложен в «контент» – naomi
@naomi спасибо! Я исправил свой код на blog.content, а не только на контент, это то, что вы имели в виду? Я все еще получаю ту же ошибку. – lost9123193