ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

React:使用 children 属性构建 wrapper 组件

2022-01-08 13:03:26  阅读:242  来源: 互联网

标签:ExpenseItem wrapper React props 组件 import children Card


在 React 中,构建wrapper组件的例子:

ExpenseItem.js:

import "./ExpenseItem.css";
import Card from "./Card";
import ExpenseDate from "./ExpenseDate";
function ExpenseItem(props) {
  return (
    <Card className="expense-item">
      <ExpenseDate date={props.date} />
      <div className="expense-item__description">
        <h2>{props.title}</h2>
        <div className="expense-item__price">${props.amount}</div>
      </div>
    </Card>
  );
}

export default ExpenseItem;
import "./Card.css";
function Card(props) {
  // 重要!
  // 使用 props.className 接收 style 属性
  // classes 的值: card  expense-item
  const classes = "card " + props.className;
  
  return <div className={classes}>{props.children}</div>;
}

export default Card;

children 是一个 React 保留字,是每一个组件都会接收到的属性,不管你用不用此属性。并且这个特殊的 children 属性的值将始终是自定义组件的开始和结束标记之间的内容。以上面的代码为例, children 的属性的值是 Card 开始标签和结束标签之间的内容:

      <ExpenseDate date={props.date} />
      <div className="expense-item__description">
        <h2>{props.title}</h2>
        <div className="expense-item__price">${props.amount}</div>
      </div>

Vue 使用 slot 构建可重用的 wrapper 组件。

标签:ExpenseItem,wrapper,React,props,组件,import,children,Card
来源: https://blog.csdn.net/ftell/article/details/122378817

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有