在反应组件中,我将一个简单的数组映射到一个组件,例如:
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>
}
标记并仍然可以使用此功能?
答案 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。