1.React 代码如下:
<body>
<div id="example"></div>
<script type="text/babel">
var names = ['Alice', 'Emily', 'Kate'];
ReactDOM.render(
<div>
{
names.map(function (name) {
return <div>Hello, {name}!</div>
})
}
</div>,
document.getElementById('example')
);
</script>
</body>
输出如下:
Hello, Alice!
Hello, Emily!
Hello, Kate!
虽然有正常输出,但是控制台出现如下警告信息:
这个警告是因为react对dom做遍历的时候,会根据data-reactid生成虚拟dom树,如果未手动添加unique constant key,react是无法记录dom操作的。它只会在重新渲染的时候,继续使用相应dom数组的序数号(就是array[index]这种)来比对dom树。所以手动添加key如下:
ReactDOM.render(
<div>
{
names.map(function (name,i) {
return <div key={i}>Hello, {name}!</div> //添加key属性
})
}
</div>,
document.getElementById('example')
);