ReactJS不接受带有映射数组的渲染到模板

时间:2017-10-30 19:09:17

标签: javascript html reactjs

在反应组件中,我将一个简单的数组映射到一个组件,例如:

InstCount   = 0x1

InstName[0] = 0x2
InstName[1] = 0x3
InstName[2] = 0x4
InstName[3] = 0x5

InstCount   = 0x4
Press any key to continue . . .

上面的代码工作正常,但以下代码不起作用:

render() {
    return <div>10</div>
}

但是,如果我使用render() { var array = [1,2,3,4] return array.map((i) =><div key={i}>{i}</div>) } 标记将其包围,则可以正常使用。

<div>

如何避免使用render() { var array = [1,2,3,4] return <div>{ array.map((i) =><div key={i}>{i}</div>)}</div> } 标记并仍然可以使用此功能?

2 个答案:

答案 0 :(得分:2)

我相信你还没有参加React v16。在React v16之前,你无法返回一系列元素:https://reactjs.org/blog/2017/09/26/react-v16.0.html#new-render-return-types-fragments-and-strings

这就是为什么你必须使用div或其他单个元素包装你的回报。

答案 1 :(得分:1)

如果您使用的是早于16.x.x的React版本,则render方法不支持返回多个子级。通过使用<div></div><ul></ul>将代码包装在您的回复中,您可以返回一个孩子。 您可能只需要安装较新版本的React。