当前位置:首页 > React

react如何通信

2026-02-11 14:58:20React

React 组件通信方式

父组件向子组件传递数据
通过 props 传递数据,子组件通过 this.props(类组件)或直接解构 props(函数组件)接收。

// 父组件
<ChildComponent message="Hello from parent" />

// 子组件(函数组件)
const ChildComponent = ({ message }) => <div>{message}</div>;

子组件向父组件传递数据
父组件通过 props 传递回调函数,子组件调用该函数并传递数据。

// 父组件
const handleChildData = (data) => console.log(data);
<ChildComponent onData={handleChildData} />

// 子组件
<button onClick={() => props.onData("Child data")}>Send</button>

兄弟组件通信
通过状态提升(Lifting State Up),将共享状态提升到共同的父组件中管理。

react如何通信

// 父组件
const [sharedState, setSharedState] = useState("");
<ChildA onUpdate={setSharedState} />
<ChildB value={sharedState} />

跨层级组件通信
使用 Context API 或状态管理库(如 Redux、MobX)。

// 创建 Context
const MyContext = React.createContext();

// 提供者组件
<MyContext.Provider value={value}>
  <ChildComponent />
</MyContext.Provider>

// 消费者组件(函数组件)
const value = useContext(MyContext);

全局状态管理(Redux)
适用于复杂应用,通过 store 集中管理状态,组件通过 connectuseSelector 访问。

react如何通信

// 定义 action 和 reducer
const increment = () => ({ type: 'INCREMENT' });

// 组件中触发
dispatch(increment());

事件总线(Event Emitter)
通过自定义事件或第三方库(如 events)实现发布-订阅模式。

// 订阅事件
eventEmitter.on('event', (data) => {});

// 发布事件
eventEmitter.emit('event', data);

Ref 通信
通过 useRefcreateRef 直接访问组件实例或 DOM 节点。

const ref = useRef();
<ChildComponent ref={ref} />
// 调用子组件方法
ref.current.doSomething();

URL 参数或路由状态
通过 react-routeruseParamsuseLocation 传递数据。

// 路由配置
<Route path="/user/:id" component={User} />

// 组件中获取
const { id } = useParams();

选择建议

  • 简单父子通信:props 或回调函数。
  • 跨层级或全局状态:Context API 或 Redux。
  • 非父子关系且简单场景:事件总线。
  • 需要直接操作子组件:ref

标签: 通信react
分享给朋友:

相关文章

react moment如何使用

react moment如何使用

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

如何改造react

如何改造react

改造 React 项目的关键方法 分析当前项目结构 通过评估现有组件、状态管理和依赖项,明确需要改进的部分。使用工具如 webpack-bundle-analyzer 识别性能瓶颈。 升级 Reac…

react如何拓展

react如何拓展

React 拓展方法 使用高阶组件(HOC) 高阶组件是一种复用组件逻辑的方式,通过接收一个组件并返回一个新组件实现功能拓展。例如,为组件添加日志功能: function withLogging…

如何安装react

如何安装react

安装React的方法 方法一:使用Create React App(官方推荐) Create React App是官方提供的脚手架工具,适合快速搭建React项目。确保已安装Node.js(建议版本≥…

react如何清理

react如何清理

清理 React 项目的方法 清理未使用的依赖项 运行 npm prune 或 yarn install --production 可以移除 node_modules 中未在 package.json…

react 如何遍历

react 如何遍历

遍历数组 在React中遍历数组通常使用map方法,它会返回一个新的数组。map是处理数组并渲染列表元素的首选方法。 const items = ['Apple', 'Banana', 'Cherr…