如何在数组es6 reactjs中推送td

时间:2017-06-30 02:30:42

标签: javascript html arrays reactjs ecmascript-6

我盯着构建一些项目,但问题是我无法将标签推送到数组

const createData = _.map(this.props.users, (user, index) => {
      let array = []
      _.map(user.user, (i, index2) => {
        array.push(
          <td>{i.name}</td>
          <td>{i.total_hour}</td>
          <td>{i.manday}</td>
        )
      })
      return (
        <tr key={index}>
          <td>{user.position}</td>
          {array}
        </tr>
      )
    })

我如何做到这一点

2 个答案:

答案 0 :(得分:1)

jsx不支持以下语法,您应该让父母包含它们。

<td>{i.name}</td>
<td>{i.total_hour}</td>
<td>{i.manday}</td>

所以你应该这样改变你的代码:

const createData = _.map(this.props.users, (user, index) => {
  let array = []
  _.map(user.user, (i, index2) => {
    array.concat([i.name, i.total_hour, i.manday])
  })
  return (
    <tr key={index}>
      <td>{user.position}</td>
      {
        array.map((one, i) => {
          reutrn <td key={i}>one</td>
        })
      }
    </tr>
  )
})

答案 1 :(得分:0)

.map 返回一个数组。您可以使用 .each并推送每个元素。

const createData = _.map(this.props.users, (user, index) => {
  let array = []
  _.each(user.user, (i, index2) => {
    array.push(
      <td>{i.name}</td>
      <td>{i.total_hour}</td>
      <td>{i.manday}</td>
    )
  })
})