如何在对象中嵌套数组?

时间:2019-06-12 10:03:49

标签: javascript arrays reactjs object ecmascript-6

从基于索引的数组中,选择一个特定的元素。分配给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 个答案:

答案 0 :(得分:2)

您的代码可以,但是您必须返回映射函数return <li>{obj["body"]}</li>的结果。

有这样的错误/警告body is not defined,这意味着您的某些待办事项没有body属性。确保您所有的待办事项都具有body属性,或者如果不需要body,则有条件地对其进行渲染。

答案 1 :(得分:0)

在您管理messages的那个对象中是不正确的。我的意思是说messages的最后一个元素的格式不正确。它不是对象。

相关问题