react列表渲染-提取组件

函数式组件


function ListItem(props) {
  let obj = props.obj;
  return Object.keys(obj).map((item) => {
    return (
      <li>
        {item}:{obj[item]}
      </li>
    );
  });
}
export default function Key() {
  const arr = [
    { name: "小明", age: 18 },
    { name: "小郭", age: 18 },
  ];
  return (
    <div>
     {
       arr.map(item=>{
       //一、组件内正常写法
          return (
           <div>
             <h6>{item.name}:{item.age}</h6>
          </div>
       )
      //  二:提取组件
        return <ListItem obj={item} key={item} />;
       })
     }
    </div>
  );
}

二、类组件

import React, { Component } from "react";
function ListItem(props) {
  let obj = props.obj;
  return Object.keys(obj).map((item) => {
    return (
      <li>
        {item}:{obj[item]}
      </li>
    );
  });
}
export default class Key extends Component {
  constructor() {
    super();
    this.state = {
      arr: [
        { name: "小明", age: 18 },
        { name: "小郭", age: 18 },
      ],
    };
  }
  render() {
    const {arr} = this.state;
    return (
      <div>
        {arr.map((obj) => {
          // return (
          //   <div>
          //     {Object.keys(obj).map((item, index) => {
          //       return (
          //         <p key={index}>
          //           {item} : {obj[item]}
          //         </p>
          //       );
          //     })}
          //   </div>
          // );
          return <ListItem obj={obj} key={obj} />;
        })}
      </div>
    );
  }
}
posted @   Cupid05  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示