react数组循环渲染过程
更新时间:2026年05月19日 09:57:56 作者:冰凉小脚
在React中,我们使用map方法对数组进行循环渲染,并生成对应的jsx结构,为了确保React的diff算法可以正确地处理dom对象,我们需要为每个生成的元素添加key属性,注意:虽然不添加key属性代码可以运行,但会报错
react数组循环渲染
正常来说我们的页面很多数据都是动态渲染的,我们一般根据一个数组来进行动态渲染。
在react里面没有类似vue的指令,所以我们必须自己手动循环生成。
在react里面我们一般采用
map方法对数组进行循环,因为map方法可以返回我们想要渲染的jsx结构。
import React from "react";
import ReactDOM from "react-dom/client";
const rootEl = document.getElementById('root')
const root = ReactDOM.createRoot(rootEl)
let arr = [
{ id: 1, name: '张三', age: 20 },
{ id: 2, name: '李三', age: 20 },
{ id: 3, name: '王三', age: 20 },
]
root.render(
<div>
{arr.map(item => <h1 key={item.id}>我的名字叫做{item.name},今年{item.age}岁</h1>)}
<h1>给出一个随机数{Math.floor(Math.random() * 100)}</h1>
</div>
)注意点
记得添加key值,不添加key值会有一个小报错,虽然不影响代码运行,所以,在react里面,为了保证diff算法对于dom对象的重用处理,也需要给每个循环生成的结构添加一个key属性。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
新建的React Native就遇到vscode报警解除方法
这篇文章主要为大家介绍了新建的React Native就遇到vscode报警解除方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-10-10
一文搞懂 React 18 中的 useTransition() 与 useDeferredValue()
这篇文章主要介绍了一文搞懂 React 18 中的 useTransition()与useDeferredValue(),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-09-09
react-native 封装选择弹出框示例(试用ios&android)
本篇文章主要介绍了react-native 封装选择弹出框示例(试用ios&android),具有一定的参考价值,有兴趣的可以了解一下2017-07-07


最新评论