当前位置:首页 > React

react模型之间如何通信

2026-01-24 14:58:33React

组件间通信方法

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

// 父组件
<ChildComponent data={someData} />

// 子组件
function ChildComponent({ data }) {
  return <div>{data}</div>;
}

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

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

// 子组件
<button onClick={() => onData("Hello")}>Send</button>

跨层级通信

Context API
适用于跨多层级组件共享数据,避免逐层传递props
示例:

const MyContext = React.createContext();

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

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

状态管理库(Redux/MobX)
集中管理全局状态,通过storeactions实现通信。
Redux示例:

// 触发Action
dispatch({ type: 'ACTION_TYPE', payload: data });

// 订阅状态
const data = useSelector(state => state.data);

事件总线(Event Emitter)

通过第三方库(如events)实现任意组件间通信。
示例:

import EventEmitter from 'events';
const emitter = new EventEmitter();

// 组件A发送事件
emitter.emit('event', data);

// 组件B监听事件
emitter.on('event', data => console.log(data));

Refs与实例方法

父组件通过ref调用子组件方法。
示例:

// 子组件(类组件)
class Child extends React.Component {
  method() { /* ... */ }
}

// 父组件
const childRef = useRef();
<Child ref={childRef} />
<button onClick={() => childRef.current.method()} />

其他方法

状态提升
将共享状态提升至最近的共同父组件管理,通过props分发。

本地存储(LocalStorage)
非实时但持久的通信方式,适合保存用户偏好。

react模型之间如何通信

URL参数
通过路由传递数据,适用于页面间通信。

标签: 模型通信
分享给朋友:

相关文章

vue实现im通信

vue实现im通信

Vue 实现 IM 通信的方法 选择通信协议 WebSocket 是实现实时 IM 通信的常用协议,相比 HTTP 更适合双向通信。可使用原生 WebSocket 或第三方库如 Socket.IO。…

react如何嵌入3d模型

react如何嵌入3d模型

在React中嵌入3D模型的方法 使用Three.js库 Three.js是一个流行的WebGL库,适合渲染3D模型。安装依赖后,通过React组件封装Three.js的逻辑。 安装依赖: npm…

php实现模型

php实现模型

在PHP中实现模型通常涉及面向对象编程(OOP)和设计模式的应用,特别是在MVC(Model-View-Controller)架构中。以下是实现模型的关键方法和步骤: 创建模型类 模型类通常对应业务…

php 实现通信

php 实现通信

PHP 实现通信的方法 PHP 可以通过多种方式实现通信,包括 HTTP 请求、Socket 编程、消息队列等。以下是几种常见的实现方式: HTTP 请求(cURL 或 file_get_conte…

js实现通信

js实现通信

JavaScript 实现通信的方法 JavaScript 提供了多种方式实现不同场景下的通信,包括浏览器与服务器、页面间、跨域等场景。 原生 AJAX 通信 使用 XMLHttpRequest 对…

js实现actor模型

js实现actor模型

Actor模型简介 Actor模型是一种并发计算模型,通过独立的“Actor”实体进行通信,每个Actor封装状态和行为,仅通过异步消息传递交互。JavaScript可通过库或手动实现Actor模型,…