Как попасть во вложенный массив в объекте в реаги? - PullRequest
0 голосов
/ 12 июня 2019

Из массива на основе индекса я выбираю конкретный элемент. Назначается переменной todo. Я проверяю в console.log todo. Это объект. Внутри этого объекта находится массив. Я пытаюсь перебрать этот массив, но он возвращает мне body is not defined

class Todo extends Component {
  render () {
    let todo = this.props.todos[this.props.index]
    console.log(todo);

    return (
        <ul>
            { 
              todo.messages.map((obj, i) => {
                <li>{obj["body"]}</li>
              });   
            }
        </ul>
    )
  } 
}

export default Todo;

console.log:

Object
  id: 1
  color: "sdsdsd"
  messages: (2) [{'body':'sdsdsd', 'title':'678'}, {'body':'aaaaaa'}, 
    'title':'11111'],
  title: "fgfgfgg"

Ответы [ 2 ]

2 голосов
/ 12 июня 2019

Ваш код в порядке, за исключением того, что вы должны вернуть результат функции карты return <li>{obj["body"]}</li>.

С такой ошибкой / предупреждением body is not defined, это означает, что некоторые из ваших задач не имеютbody свойство.Убедитесь, что все ваши задачи имеют свойство body или, если body не требуется, то сделайте его условно.

0 голосов
/ 12 июня 2019

В том объекте, который вы утешали messages, неправильно. Я хочу сказать, что последний элемент messages не в правильном формате. Это не объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...