如何将未封闭的div推入数组?

时间:2019-03-02 00:40:36

标签: javascript reactjs

想知道为什么会引发错误:

arraysOfUserResults.push(<div>)
arraysOfUserResults.push("line of text")
arraysOfUserResults.push(</div>)

我在return方法之前写这个。

基本上我想做的是一个像这样的循环:(伪代码

Start of object's keys iterating Loop
push opening of div with class name to the array
   Start of object values iterating loop
   push these values to the array
push closing of div to array

然后,将此数组放在大括号内的return方法上。

谢谢。

1 个答案:

答案 0 :(得分:0)

在JSX中,<div>line of text</div>只是syntactic sugar for React.createElement('div', null, 'line of text')。所以写

arraysOfUserResults.push(
  <div>
)
arraysOfUserResults.push(
  "line of text"
)
arraysOfUserResults.push(
  </div>
)

类似于写作

arraysOfUserResults.push(
  React.createElement('div', null,
)
arraysOfUserResults.push(
  "line of text"
)
arraysOfUserResults.push(
  )
)

这没有任何意义。开头和结尾标签仅界定元素的边界。当您的代码运行时,它们不存在。

如果"line of text"确实是对象值的数组,并且这些值是基元,则可以将它们作为JavaScript表达式包含在JSX中:

<div>{Object.values(myObject)}</div>

每个值都将成为<div>的子级。