当前位置:首页 > React

react如何传值

2026-02-12 04:41:26React

父组件向子组件传值

使用 props 传递数据。父组件通过属性传递值,子组件通过 props 接收。

父组件示例:

import ChildComponent from './ChildComponent';

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

子组件示例:

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

子组件向父组件传值

通过回调函数实现。父组件传递函数给子组件,子组件调用该函数并传值。

父组件示例:

function ParentComponent() {
  const handleData = (data) => {
    console.log("Received from child:", data);
  };
  return <ChildComponent onData={handleData} />;
}

子组件示例:

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

兄弟组件间传值

通过状态提升或全局状态管理(如 Context、Redux)实现。

react如何传值

状态提升示例:

function ParentComponent() {
  const [sharedData, setSharedData] = useState("");

  return (
    <>
      <ChildA onData={setSharedData} />
      <ChildB data={sharedData} />
    </>
  );
}

使用 Context API

适用于跨层级组件传值。

创建 Context:

const MyContext = React.createContext();

function App() {
  const value = "Shared Value";
  return (
    <MyContext.Provider value={value}>
      <ChildComponent />
    </MyContext.Provider>
  );
}

子组件消费 Context:

react如何传值

function ChildComponent() {
  const value = useContext(MyContext);
  return <div>{value}</div>;
}

使用 Redux 全局状态管理

适用于复杂应用的多组件共享状态。

安装 Redux:

npm install redux react-redux

定义 Store 和 Reducer:

import { createStore } from 'redux';

const reducer = (state = {}, action) => {
  switch (action.type) {
    case 'UPDATE_DATA':
      return { ...state, data: action.payload };
    default:
      return state;
  }
};

const store = createStore(reducer);

组件中连接 Redux:

import { Provider, useSelector, useDispatch } from 'react-redux';

function App() {
  return (
    <Provider store={store}>
      <ComponentA />
      <ComponentB />
    </Provider>
  );
}

function ComponentA() {
  const dispatch = useDispatch();
  const sendData = () => {
    dispatch({ type: 'UPDATE_DATA', payload: "New Data" });
  };
  return <button onClick={sendData}>Update Data</button>;
}

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

标签: react
分享给朋友:

相关文章

react如何开发组件

react如何开发组件

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

如何手写一个react

如何手写一个react

手写一个简单的 React 创建一个基础的 React 实现需要理解其核心概念:虚拟 DOM、组件、状态管理和渲染。以下是一个简化版的 React 实现。 创建虚拟 DOM 虚拟 DOM 是真实 D…

如何记忆react

如何记忆react

理解核心概念 React的核心概念包括组件、状态(state)、属性(props)、生命周期方法(类组件)和钩子(函数组件)。掌握这些基础概念是记忆React的关键。组件是React应用的构建块,分为…

如何下载react

如何下载react

下载 React 的方法 通过 npm 或 yarn 安装 React 可以通过包管理器 npm 或 yarn 安装。确保已安装 Node.js(包含 npm),然后在项目目录中运行以下命令:…

如何配置react

如何配置react

配置React项目的步骤 安装Node.js和npm 确保系统已安装Node.js(包含npm)。可通过官网下载并安装最新版本。安装完成后,运行以下命令验证版本: node -v npm -v 创…

react如何开发

react如何开发

React 开发基础步骤 安装 Node.js 和 npm/yarn 确保系统已安装 Node.js(包含 npm)或 Yarn。React 项目依赖这些工具管理包和运行脚本。官方推荐使用 Node.…