React 学习-6-列表 & keys

1.生成列表的方式:使用map()循环数组,放入ul,li中,并将数组的index作为唯一key。key通常保存在ul上,而非单个元素li中.按照此思路手写代码如下:

html 复制代码
1.创建div
<div id="test"></div>

2创建数组并为div绑定元素
const data= [1, 2, 3, 4, 5];

ReactDOM.render(
  //引入要加载的元素并传入数组,自定义一个
 <ListArrayTestlistData={data}/>,
document.getElementById("test")
)

3.创建render函数中自定义的组件
写法一:
function ListArrayTest(props){
  const listData= props.listData
  const LiLists = listData.map((item,index)=> 
  //此时若想将index绑定到ul上,需要将ul抽取,新建函数用来存放li
    <liList key={index} item={item} />
  )
  return (
   <ul>
    {liLists }
   </ul>
  )
}

function LiList(props){
  return  <li>{props.item}</li>
}

写法二:
function ListArrayTest(props){
  const listData= props.listData
 
  return (
   <ul>
    { listData.map((item,index)=> 
        //此时若想将index绑定到ul上,需要将ul抽取,新建函数用来存放li
        <LiList key={index} item={item} />
      )
    }
   </ul>
  )
}

function liList(props){
  return  <li>{props.item}</li>
}
相关推荐
mCell1 小时前
使用 useSearchParams 同步 URL 和查询参数
前端·javascript·react.js
mCell3 小时前
前端路由详解:Hash vs History
前端·javascript·vue-router
海上彼尚3 小时前
无需绑卡的海外地图
前端·javascript·vue.js·node.js
1024肥宅3 小时前
手写 call、apply、bind 的实现
前端·javascript·ecmascript 6
科杰智能制造4 小时前
纯前端html、js实现人脸检测和表情检测,可直接在浏览器使用
前端·javascript·html
c***21294 小时前
Springboot3学习(5、Druid使用及配置)
android·学习
每天吃饭的羊4 小时前
组件库的有些点击事件是name-click这是如何分装de
前端·javascript·vue.js
x***01065 小时前
SpringSecurity+jwt实现权限认证功能
android·前端·后端
1024肥宅5 小时前
防抖(Debounce)
前端·javascript·ecmascript 6
1024肥宅5 小时前
节流(Throttle)
前端·javascript·ecmascript 6