React如何实现无嵌套组件通信
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,这篇文章将为大家详细讲解有关React如何实现无嵌套组件通信,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。兄弟(无嵌套)组件通信当两个组件互不嵌套,处在同个层级或者
千家信息网最后更新 2025年11月06日React如何实现无嵌套组件通信
这篇文章将为大家详细讲解有关React如何实现无嵌套组件通信,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
兄弟(无嵌套)组件通信
当两个组件互不嵌套,处在同个层级或者不同层级上,他们之间要进行通信,有以下几种常用方法
1、某个组件先将值传到同一个父组件,然后在通过父组件传给另外一个组件,用到父子组件传值
2、使用缓存sessionStorage、localStorage等
3、如果两个组件之间存在跳转,可以使用路由跳转传值,附上详细用法
React学习笔记 -- 组件通信之路由传参(react-router-dom)_前端菜小白leo的博客-CSDN博客
4、event(发布--订阅)
首先,安装event
npm install event -save
新建一个event.js
import { EventEmitter } from 'events';export default new EventEmitter();然后另两个组件处于同层级(不同个父组件或者不同层级都可以)
import React from 'react';import Grandson from './Grandson';import GrandsonOther from './GrandsonOther'; class Children extends React.Component { render(){ return ( ) }} export default Children组件一,导入event,在componentDidMount阶段添加监听addListener(订阅),在componentWillUnmount移除监听removeListener,事件名称与组件二中emit一致。
import React from 'react';import event from '../event';import { Button } from 'element-react' class Grandson extends React.Component { constructor(props) { super(props); this.state = { msg:'' } this.toOther = this.toOther.bind(this) } toOther(){ event.emit('eventMsg','通过evnet传过来的值') } render(){ return ( 组件二
{this.state.msg} ) }} export default Grandson组件二,导入event,按钮绑定方法,使用event.emit触发(发布)事件。
import React from 'react';import event from '../event';import { Button } from 'element-react' class Grandson extends React.Component { constructor(props) { super(props); this.state = { msg:'' } this.toOther = this.toOther.bind(this) } toOther(){ event.emit('eventMsg','通过evnet传过来的值') } render(){ return ( 组件二
{this.state.msg} ) }} export default Grandson点击按钮,组件二发布事件,组件一监听(订阅)事件,更新内容。(如果交换发布者订阅者身份,写法一致)

注意:如果两个组件使用event进行通信,确保发布订阅的事件名称一致,如上例中 eventMsg
关于"React如何实现无嵌套组件通信"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
组件
通信
事件
订阅
两个
层级
不同
一致
篇文章
监听
之间
内容
博客
名称
按钮
方法
更多
路由
不错
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
新唐单片机官网 软件开发
动漫产业数据库
莫是数据库安全的第一道屏障
池州市半盏网络技术有限公司
软件开发类
临沂微企邦网络技术
淘宝云服务器选什么配置
apex个服务器名称
数据库 if 函数
第一年在携程做软件开发属于几级
宝马汇数据库
M1芯片做软件开发
软件开发人员工作评估指标
咸阳网络技术产品介绍
软件开发市场环境分析
挖矿机的计算服务器
三国杀ol服务器连接超时
北京三清互联网科技有限公司
北京服务器服务商云空间
中学生如何应对网络安全
缘汇软件开发公司招聘
云南霸龙网络技术有限公司
游戏必备环境数据库
酉阳网络安全审计系统咨询公司
公安网络安全重要性心得体会
嵌入式软件开发需要学什么
网络技术大会完整
常见青少年网络安全知识讲座
数据库选修超过两门怎么找
gmv 软件开发效率