当前位置:首页 > React

react 如何传递props

2026-01-15 09:30:15React

传递 props 的基本方法

在 React 中,props 是从父组件向子组件传递数据的主要方式。通过在子组件的标签上添加属性,可以将数据传递给子组件。

父组件中传递 props:

function ParentComponent() {
  const message = "Hello from parent";
  return <ChildComponent greeting={message} />;
}

子组件中接收 props:

function ChildComponent(props) {
  return <div>{props.greeting}</div>;
}

使用解构赋值简化 props

可以直接在子组件参数中解构 props,使代码更简洁:

function ChildComponent({ greeting }) {
  return <div>{greeting}</div>;
}

传递多个 props

可以一次传递多个 props:

function ParentComponent() {
  const user = {
    name: "Alice",
    age: 25
  };
  return <UserProfile {...user} />;
}

子组件接收多个 props:

function UserProfile({ name, age }) {
  return (
    <div>
      <p>Name: {name}</p>
      <p>Age: {age}</p>
    </div>
  );
}

传递函数作为 props

可以将函数作为 props 传递给子组件,实现子组件向父组件通信:

function ParentComponent() {
  const handleClick = () => {
    console.log("Button clicked in child");
  };
  return <ChildComponent onClick={handleClick} />;
}

function ChildComponent({ onClick }) {
  return <button onClick={onClick}>Click Me</button>;
}

设置默认 props

可以为组件设置默认 props,当父组件未传递相应 prop 时使用默认值:

function Greeting({ name }) {
  return <div>Hello, {name}!</div>;
}

Greeting.defaultProps = {
  name: "Guest"
};

使用 prop-types 进行类型检查

可以安装 prop-types 库来验证 props 的类型:

import PropTypes from 'prop-types';

function Product({ name, price }) {
  return (
    <div>
      <h3>{name}</h3>
      <p>Price: ${price}</p>
    </div>
  );
}

Product.propTypes = {
  name: PropTypes.string.isRequired,
  price: PropTypes.number.isRequired
};

特殊 props:children

children 是一个特殊 prop,表示组件标签之间的内容:

react 如何传递props

function Card({ children }) {
  return <div className="card">{children}</div>;
}

function App() {
  return (
    <Card>
      <h2>Card Title</h2>
      <p>Card content goes here</p>
    </Card>
  );
}

标签: reactprops
分享给朋友:

相关文章

react 如何获取dom

react 如何获取dom

获取 DOM 的方法 在 React 中,可以通过 useRef 或 createRef 来获取 DOM 节点。useRef 是函数组件中常用的方法,而 createRef 通常用于类组件。 使用…

react elementUI

react elementUI

React 和 Element UI 是两个不同的技术栈,但可以通过整合实现类似功能。以下是相关解决方案和替代方案: React 与 Element UI 的替代方案 Element UI 是为 V…

react如何传递参数

react如何传递参数

传递 props 给子组件 在父组件中通过属性名直接传递数据,子组件通过 props 对象接收。例如父组件传递 name 和 age: <ChildComponent name="John"…

react 如何渲染的

react 如何渲染的

React 渲染机制 React 的渲染过程分为两个主要阶段:协调(Reconciliation)和提交(Commit)。协调阶段负责计算差异(Diffing),提交阶段将变化应用到 DOM。 虚拟…

react如何接入项目

react如何接入项目

创建React项目 使用create-react-app快速初始化项目: npx create-react-app my-app cd my-app npm start 适用于全新项目,自动配置…

react native如何搭建

react native如何搭建

搭建React Native开发环境 确保系统已安装Node.js(建议版本12或更高)。可以通过命令行检查Node.js和npm版本: node -v npm -v 安装React Native命…