React 相关
列表渲染中key的位置
列表项的key是写在组件本身上的,不是组件内部返回的标签上
INFO
注意这里的 key 是写在 <Recipe>
组件本身上的,不要写在 Recipe 内部返回的 <div>
上。 这是因为 key 只有在就近的数组上下文中才有意义。之前的写法里,我们生成了一个 <div>
的数组所以其中的每一项需要一个 key,但是现在的写法里,生成的实际上是 <Recipe>
的数组。换句话说,在提取组件的时候,key 应该写在复制粘贴的 JSX 的外层组件上 ----摘自react官网
Link: 列表渲染
Fragment
当需要将多个元素包装成单个元素但又不想影响DOM,可以使用<Fragment></Fragment>
包裹起来,大多数情况可以简写为<></>
,因为Fragment只有一个key作为参数,而<>无法使用key参数,所以必须使用Fragment Link:Fragment Fragment的示例
jsx
function Demo(){
return (
<Fragment>
<h1>Demo</h1>
<p>This is a Demo</p>
<Fragment/>
)
}
<>
的示例
jsx
function Demo() {
return (
<>
<h1>Demo</h1>
<p>This is a Demo</p>
</>
)
}
渲染列表
jsx
function Demo(){
return data.map(item =>
<Fragment key={item.id}>
<h1>{item.name}</h1>
<p>This is a Demo</p>
<Fragment/>
)
}