子组件…">
当前位置:首页 > React

react组件如何传输值

2026-03-10 16:19:18React

传递 Props

父组件通过属性向子组件传递数据。子组件通过 props 接收这些值。

父组件:

<ChildComponent name="John" age={25} />

子组件:

function ChildComponent(props) {
  return <div>{props.name} is {props.age} years old</div>;
}

使用 Context API

适用于跨多层级组件传递数据,避免逐层传递 props。

创建 Context:

const MyContext = React.createContext();

提供数据:

<MyContext.Provider value={{ user: 'Alice', role: 'admin' }}>
  <ChildComponent />
</MyContext.Provider>

消费数据:

function ChildComponent() {
  const context = useContext(MyContext);
  return <div>{context.user} is {context.role}</div>;
}

回调函数传递

父组件通过回调函数接收子组件的数据。

父组件:

function ParentComponent() {
  const handleData = (data) => {
    console.log(data);
  };
  return <ChildComponent onData={handleData} />;
}

子组件:

function ChildComponent({ onData }) {
  const sendData = () => {
    onData('Hello from child');
  };
  return <button onClick={sendData}>Send Data</button>;
}

状态管理库

使用 Redux 或 MobX 等库管理全局状态,组件通过连接器或 hooks 获取数据。

Redux 示例:

import { useSelector } from 'react-redux';

function Component() {
  const counter = useSelector(state => state.counter);
  return <div>{counter}</div>;
}

使用 Refs

通过 ref 直接访问子组件实例或 DOM 元素,获取其值。

父组件:

function ParentComponent() {
  const childRef = useRef();
  const getValue = () => {
    console.log(childRef.current.value);
  };
  return (
    <>
      <ChildComponent ref={childRef} />
      <button onClick={getValue}>Get Value</button>
    </>
  );
}

子组件:

react组件如何传输值

const ChildComponent = forwardRef((props, ref) => {
  return <input ref={ref} defaultValue="Default" />;
});

标签: 组件react
分享给朋友:

相关文章

react如何使用

react如何使用

React 的基本使用 React 是一个用于构建用户界面的 JavaScript 库,以下是一些核心概念和使用方法。 安装 React 通过 create-react-app 快速搭建 React…

电脑如何安装react

电脑如何安装react

安装 Node.js 和 npm React 依赖于 Node.js 和 npm(Node Package Manager)。从 Node.js 官网下载并安装最新稳定版本,安装完成后会自动包含 np…

react性能如何

react性能如何

React 性能特点 React 通过虚拟 DOM(Virtual DOM)和高效的 diff 算法优化性能。虚拟 DOM 减少了直接操作真实 DOM 的开销,仅在必要时更新变化的部分。React 的…

react如何浮动

react如何浮动

使用 CSS 实现浮动 在 React 中实现浮动效果可以通过 CSS 的 float 属性完成。在组件的样式文件或内联样式中直接设置 float: left 或 float: right。 /…

react如何同步

react如何同步

React 同步状态管理方法 在 React 中实现同步状态管理,可以通过以下多种方式实现: 使用 useState 和 useEffect 钩子 通过 useState 定义状态,使用 useEf…

vue VUE实现日历组件功能

vue VUE实现日历组件功能

Vue 日历组件实现方法 基础日历结构 使用Vue的模板语法构建日历的HTML结构,通常包含头部(年月显示、切换按钮)和日历表格(星期标题和日期格子)。 <template> <…