当前位置: 首页 > news >正文

React 中的 Props

Props(Properties 的缩写)是 React 中用于组件间通信的核心机制。它们允许数据从父组件单向传递到子组件。Props 是 React 组件不可变(只读)的输入参数,这种特性使得组件更加可预测且易于维护。

Props 的核心特性

单向数据流:Props 只能从父组件传递到子组件,不能反向传递

只读性:接收组件不能修改传入的 props

动态性:Props 使组件能够根据传入数据呈现不同内容

类型安全:结合 PropTypes 或 TypeScript 可以确保 props 类型正确

在 React 中使用 Props 的方法

1. 将 Props 传递给功能组件 功能组件通过参数接收 props

对象:

function Welcome(props) {   return <h1>Hello, {props.name}</h1>; } // 使用组件 <Welcome name="Alice" />

2. 在功能组件中使用解构 解构赋值使代码更简洁:

function Welcome({ name }) {   return <h1>Hello, {name}</h1>; } // 使用组件 <Welcome name="Bob" />

3. 传递多个 props 可以同时传递多个属性:

function UserProfile({ name, age, location }) {   return (     <div>       <h2>{name}</h2>       <p>Age: {age}</p>       <p>Location: {location}</p>     </div>   ); } // 使用组件 <UserProfile name="Charlie" age={28} location="New York" />

4. 设置默认 Props 为 props 提供默认值:

function Greeting({ name = 'Guest' }) {   return <p>Welcome, {name}!</p>; }

5. 将 Props 传递给类组件 类组件通过 this.props 访问 props:

class Welcome extends React.Component {   render() {     return <h1>Hello, {this.props.name}</h1>;   } } // 使用组件 <Welcome name="David" />

6. 传递子元素 (children) 通过 props.children 传递组件内容:

function Card({ children }) {   return <div className="card">{children}</div>; } // 使用组件 <Card>   <h3>Title</h3>   <p>Content goes here</p> </Card>

Props 验证 使用 PropTypes 或 TypeScript 验证 props 类型:

import PropTypes from 'prop-types'; function User({ name, age }) {   // 组件实现 } User.propTypes = {   name: PropTypes.string.isRequired,   age: PropTypes.number }; User.defaultProps = {   age: 18 };

相关文章:

  • 文件操作与IO—文件读写
  • 开源手机号码价值评估系统
  • AI Agent系列(八) -基于ReAct架构的前端开发助手(DeepSeek)
  • Spring笔记04-注解注入
  • Python每日一题(11)
  • oracle执行计划
  • 《异常检测——从经典算法到深度学习》30. 在线服务系统中重复故障的可操作和可解释的故障定位
  • 42. 接雨水
  • Flutter敏感词过滤实战:基于AC自动机的高效解决方案
  • 二分查找:原理、循环不变量与边界处理
  • 设置网站主题色color-scheme
  • 【Easylive】HttpServletRequest、HttpServletResponse、HttpSession 介绍
  • Leetcode hot 100刷题之路(day 1)
  • 黑盒测试的场景法(能对项目业务进行设计测试点)
  • ngx_monotonic_time
  • Git Fetch 和 Git Pull 的区别
  • 双层板模组天线设计指南,50欧姆阻抗匹配设计
  • B-tree 索引失效 避坑指南
  • x265不同preset级别控制的编码参数与编码性能影响
  • BFS(广度优先搜索)
  • 广西建设工会网站/网络营销到底是个啥
  • 如何做网站关键字优化/营销必备十大软件
  • 南通购物网站建设/怎么优化网站
  • php如何做视频网站/搜索引擎营销与seo优化
  • 网站开发后端用什么/seo的方式包括
  • 上海专业做网站服务商/网络营销方案范文