四时宝库

程序员的知识宝库

React-列表和Key的综合示例(react list key)

Bash
import React from "react";
import 'bootstrap/dist/css/bootstrap.min.css';

const infoMap = {
    titleInfo: '列表和Key简单示例',
    titleOne: 'React.js开发示例',
    contentOne: 'React.js组件的应用开发',
    titleTwo: 'React.js安装方法',
    contentTwo: '可以使用npm安装',
}

const numbers = [1, 2, 3];
function NumberList(pros) {
    const numbers = pros.numbers;
    const listItems = numbers.map((number) => <li key={number.toString()}>{number}</li>);
    return (
        <ul>{listItems}</ul>
    );
}

function ListItem(props) {
    // 不需要指定Key的示例
    return <li>{props.value}</li>;
}

function NumberListTwo(props) {
    const numbers = props.numbers;
    const listItems = numbers.map((number) => 
        // key应该在数组的上下文中被指定的示例
        <ListItem key={number.toString()} value={number}/>
    );
    return (
        <ul>{listItems}</ul>
    );
}

function Blog(props){
    const sidebar = (
        <ul>
            {props.posts.map((post) =>
                <li key={post.id}>{post.title}</li>
            )}
        </ul>
    );
    const content = props.posts.map((post) =>
        <div key={post.id}>
            <h3>{post.title}</h3>
            <p>{post.content}</p>
        </div>
        
    );
    return (
        <div>
            {sidebar}
            <hr />
            {content}
        </div>
    );
}

const posts =[
    {id: 1, title: infoMap.titleOne, content: infoMap.contentOne},
    {id: 2, title: infoMap.titleTwo, content: infoMap.contentTwo},
];

const ListAndKeyExample = () => {
    return (
        <span>
            <h3>{infoMap.titleInfo}</h3>
            <NumberList numbers={numbers} />
            <hr/>
            <NumberListTwo numbers={numbers} />
            <hr/>
            <Blog posts={posts} />
        </span>
    );
}

export default ListAndKeyExample;




运行效果:

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接