主题
列表渲染
示例
tsx
const users = [
{ id: 1, name: '张三', age: 18 },
{ id: 2, name: '李四', age: 19 },
{ id: 3, name: '王五', age: 20 },
]
const obj: Record<string, any> = {
id: 1,
name: '张三',
age: 18,
}
const List = () => {
return (
<>
{/* 数组 */}
<ul>
{users.map((item) => (
<li key={item.id}>
{item.name} - {item.age}
</li>
))}
</ul>
<hr />
{/* 对象 */}
<div>
{Object.keys(obj).map((key) => (
<div key={key}>
{key}: {obj[key]}
</div>
))}
</div>
</>
)
}
export default List提示
Fragment 组件,用来渲染多个元素,但 Fragment 不会渲染为任何 HTML 元素。
jsx
const Blog = () => {
return posts.map((post) => (
<Fragment key={post.id}>
<PostTitle title={post.title} />
<PostBody body={post.body} />
</Fragment>
))
}