当前位置:首页 > React

react如何父传子 子传父

2026-01-26 00:57:50React

父组件向子组件传递数据

在React中,父组件通过props向子组件传递数据。父组件在渲染子组件时,将数据作为属性传递给子组件。

父组件示例

import React from 'react';
import ChildComponent from './ChildComponent';

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

子组件示例

import React from 'react';

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

子组件向父组件传递数据

子组件通过调用父组件传递的回调函数实现数据传递。父组件定义一个函数,通过props传递给子组件,子组件调用该函数并传入数据。

父组件示例

import React, { useState } from 'react';
import ChildComponent from './ChildComponent';

function ParentComponent() {
  const [childData, setChildData] = useState("");

  const handleDataFromChild = (data) => {
    setChildData(data);
  };

  return (
    <div>
      <p>Data from child: {childData}</p>
      <ChildComponent onSendData={handleDataFromChild} />
    </div>
  );
}

子组件示例

import React from 'react';

function ChildComponent(props) {
  const sendDataToParent = () => {
    props.onSendData("Hello from Child");
  };

  return <button onClick={sendDataToParent}>Send Data to Parent</button>;
}

使用Context跨层级传递数据

对于深层嵌套的组件,可以使用React的Context API避免逐层传递props。

创建Context

import React, { createContext, useState } from 'react';

export const DataContext = createContext();

function ParentComponent() {
  const [data, setData] = useState("Initial Data");

  return (
    <DataContext.Provider value={{ data, setData }}>
      <ChildComponent />
    </DataContext.Provider>
  );
}

子组件使用Context

import React, { useContext } from 'react';
import { DataContext } from './ParentComponent';

function ChildComponent() {
  const { data, setData } = useContext(DataContext);

  return (
    <div>
      <p>Data from context: {data}</p>
      <button onClick={() => setData("Updated Data")}>Update Data</button>
    </div>
  );
}

react如何父传子 子传父

标签: react父传子
分享给朋友:

相关文章

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment 包。确保项目中已安装 moment.js,因为 react-moment 依赖它。 npm instal…

如何评价react native

如何评价react native

React Native 的优势 跨平台开发效率高:基于 JavaScript 和 React 语法,可同时开发 iOS 和 Android 应用,减少重复代码量。性能接近原生:通过原生组件渲染,性能…

react 如何执行

react 如何执行

安装 Node.js 和 npm React 开发需要 Node.js 环境,因为它提供了 npm(或 yarn)包管理工具。从 Node.js 官网 下载并安装最新 LTS 版本。安装完成后,在终端…

react如何取消渲染

react如何取消渲染

取消渲染的方法 在React中,取消渲染通常指的是在某些条件下阻止组件渲染或中断正在进行的渲染过程。以下是几种常见的方法: 条件渲染 通过条件判断决定是否渲染组件或部分内容。可以使用if语句或三元运…

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment 基本…

react如何开发组件

react如何开发组件

React 组件开发基础 React 组件分为函数组件和类组件两种形式。函数组件是现代 React 开发的主流方式,结合 Hooks 可以实现完整功能。 函数组件示例: function Gree…