React 跨组件传递事件

嵌入式SD/TF卡通用协议-SDIO协议 为了驱动SD卡,首先的第一步就是观察SD卡引脚接线情况,通常我们在画原理图时,都是使用的SD卡卡槽与MCU进行接线。SD卡可以使用SDIO协议和SPI协议进行通信,这里我们主要介绍SDIO协议。下图中的TF卡只是容量小一点的SD卡。以F1C100S为例,接线图如下所示:我们发现上图中的TF卡使用的协议为SDIO协议,主要有4根数据线,1根命令线,1根时钟线组合而成。为了驱动这个SD/TF卡我们就需要去了解SDIO协议的时序。 阅读详情

.最近在写React项目,由于刚接触不久问题也比较多,下面是实际遇到的一个问题,可能不是最优解决方案.如果有好的建议可以留言,因为刚接触不就所以理解上可能有问题.欢迎交流

1.问题描述

.就是一个获取验证码的倒计时功能,正常情况下项目中都会遇到这样的情况,之前的基本组件中的倒计时已经封装了相关功能,触发button则会开始倒计时,现在测试人员反馈说,请求发送验证码的接口还没有返回数据就开始倒计时了,这个有问题,需要改成接口响应success之后,再开始倒计时,这个就有点难搞了,由于是基础组件用到的地方比较多,很多都是包装了很多层.比如最基本中的绑定手机号中国的验证码发送,用到的组件有如下: BindMobile中嵌套了SendSms组件,可以理解为BindMobile为父组件, SendSms为子组件.

BindMobile–>SendSms

2.解决方案

.如果在父组件中可以调用子组件的相关方法岂不是就很简单的能实现该需求了,于是乎开始研究,果然,父组件中是可以调用子组件的相关方法,只不过需要做相关绑定.这样就很方便的在需要用到的地方做个绑定便可不用去大肆折腾了.

3.实行方案

  • 3.1 简易版的BindMobile组件 (父组件)

      class BindMobile extends React.Component {
          render() {
              return(
                  <div>
                      <SendSms onRef={this.onRef} />
                      <button  onClick={this.testTimeDown} >click</button>
                  </div>
              )
          }
    
         /**
      	 * 对子组件进行一个绑定,方便在本组件中调用
      	 */ 
          onRef = (ref) => {
              this.child = ref
          }
      		
      	 /**
      	 * 点击进行倒计时功能
      	 */ 
          testTimeDown = (e) => {
              this.child.myTestSendSms()
          }
      }
    
  • 3.2 简易版SendSms组件 (子组件)

      class SendSms extends React.Component {
      
      /**
       * 把组件绑定到父组件中,同时对onRef属性进行一个判断
       */
      componentDidMount(){
      	this.props.onRef && this.props.onRef(this)
      }
      
      
      /**
       * 模拟60s倒计时功能,需要在state中记录相关属性
       */
      myTestSendSms=()=>{
      console.log('SendSms->myTestSendSms->beforeSend');
      this.setState({
        num: this.props.time || 60,
        hasSend: true
      })
      this.Timer = setInterval(() => {
        if (this.state.num > 0) {
          this.setState({
            num: this.state.num - 1,
          })
        } else {
          clearInterval(this.Timer)
        }
      }, 1000)
    	}
    
      render() {
          return ('SendSms')
      }
      }
    

4.结语

.本例子只是对React组件的一个简单介绍,具体可以参考自己的组件;

本例是通过onRef通信方法,如果想要在父组件中调用子组件的事件可以按照此方法,在父组件中传递一个绑定子组件的参数,在子组件挂在完毕的时候把父组件传递过来的参数进行一个绑定即可.

Qt/C++编写自定义控件49-飞机仪表盘 一、前言 飞行仪表是测定和表示飞机数据的工具,飞机中必不可少的一部分,飞行员根据飞行仪表表示的数据才能正确地做出判断。一般飞机仪表包括高度表+空速表+垂直速率表+姿态仪+航向指示表+转弯协调表。 这次要绘制的是其中的姿势仪,显示飞机相对于地平线的姿态,看姿态仪,飞行员能判断飞机姿态为偏左偏右,及偏上和偏下。姿态仪作用原理为一高度旋转的陀螺,不论飞机的姿态如何变化,此陀螺的定轴性在空间保持相同,因而... 阅读详情

相关推荐

大疆M3508电机使用CAN通信进行速度PID闭环控制详解

目录一. 简介二. 电机通信协议三. 电机PID控制原理四. 官方代码移植-中断接收五. 官方代码移植-查询接收 一. 简介 之前写过一篇文章STM32实现四驱小车(五)电机控制任务——电机速度PID控制算法,其中是以大疆的M3508电机为例进行讲解的(没错,就是RoboMaster机器人同款电机,不过Robomaster上的电机好像是小一号的M2006)。不少小伙伴私信问我要代码,我都回复说不是有官方demo么。后来问的人多了我大概明白了,看来官方的Demo还是有点门槛。可能是带FreeRTOS操作系统看

qq_30267617的博客 7万+

React 组件之间传递值和事件的几种方式

父组件向子组件传值和传递事件 函数组件 props 父组件 <Welcome fname="gxh" func={ func}/>; 子组件 function Welcome(props) { this.props.func() // 触发父组件事件 return <h1>Hello, {props.fname}</h1>; // 获取值 } class 组件 props 父组件 <Welcome cname="gxh" cfunc={this.fun

kiku 3369

PWM与光耦的完美联姻:低成本4-20mA转换方案揭秘

本文揭秘了PWM与光耦结合的低成本4-20mA转换方案,适用于工业自动化领域。通过PWM信号控制输出电流,光耦实现电气隔离,该方案成本低廉、电路简单且隔离可靠。文章详细介绍了两种经典电路实现方案,包括四光耦线性模式方案和PWM控制LM317方案,并提供了实战技巧与优化策略,帮助中小企业和电子DIY爱好者构建经济高效的4-20mA转换系统。

weixin_29229055的博客 539

MapReduce入门案例WordCount(动画演示)

文章目录自定义代码流程WordCount-Map实现WordCount-Reduce实现WordCount-Driver实现动画: 自定义代码流程 WordCount-Map实现 1、实例一个class 继承Mapper<输入的key的数据类型,输入的value的数据类型,输出的key的数据类型,输出的value的数据类型 2、重写map方法 map(LongWritable key, T...

王傲旗的大数据之路 5762

Calibre PEX提参实战:如何用hcell和xcell文件精准屏蔽模块(附避坑指南)

本文深入解析Calibre PEX工具中hcell与xcell文件的协同工作机制,提供模块级寄生参数提取方案。通过实战案例和避坑指南,帮助工程师精准屏蔽已验证IP模块,提升仿真效率和数据一致性,适用于65nm以下工艺节点的复杂SoC设计。

weixin_29275257的博客 629

Dynamics 365 F&O新手必看:Visual Studio 2019搭建项目框架全流程(含Model避坑指南)

本文详细介绍了如何在Visual Studio 2019中为Dynamics 365 Finance and Operations搭建企业级项目框架,包括Model分层策略、Solution管理及开发工作流优化。特别提供了Model避坑指南和实用配置建议,帮助新手快速上手并避免常见错误。

weixin_30505225的博客 382

vue/react 组件子父之间的数据传递,事件传递

利用自组件调用父组件事件(事件中形参给数据赋值在子组件调用中,形参为自己的数据)c的页面中定义子组件变量名=“绑定的父组件变量名”(动态绑定)页面中@子组件接收的事件名=父组件中要传递的事件”确保a,b绑定通相同,变量同步。父组件将数据传递给子组件。.........

m0_52889702的博客 1112

Imagenet数据集1000类别中英文

英文 {0: 'tench, Tinca tinca', 1: 'goldfish, Carassius auratus', 2: 'great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias', 3: 'tiger shark, Galeocerdo cuvieri', 4: 'hammerhead, hammerhead shark', 5: 'electric ray, cram.

识物专栏 1800

React 事件处理 ( this问题 参数传递 ref)

● 在React渲染生命周期时,表单元素上的value 将会覆盖DOM节点中的值,在非受控组件中,你经常希望React赋予组件一个初始值,但是不去控制后续的更新,在这种情况下,你可以指定一个defaultValue属性,而不是value。可以使用ref去 存储DOM节点的引用 当ref属性用于HTML元素时,构造函数中使用React.createRef()创建的ref接收底层DOM元素作为其current属性。● ref转发允许某些组件接收ref,并将其向下传递,(转发它给其他组件)

qq_21087199的博客 837

基于STM32F103的智能门禁门锁门卫系统设计

本文设计了一种基于STM32F103单片机的智能门禁系统,集成了密码、射频IC卡和指纹识别三种验证方式。系统采用模块化设计,包含MFRC522射频模块、AS608指纹模块、矩阵键盘、OLED显示和舵机控制等硬件,实现了身份验证、密码修改、IC卡/指纹管理以及安全防护功能。测试结果表明系统响应迅速(密码验证250ms、指纹验证600ms)、功耗低(待机50mA),且具备掉电密码保存功能。该系统操作简便、功能完善,适用于家庭和办公场所,具有较高实用价值。未来可扩展远程控制、人脸识别等功能以进一步提升智能化水平。

3254968421的博客 320

EMS案例:BMS传导发射超标整改案例

BMS作为新能源汽车的关键部件,其EMC性能直接影响整车的安全性和可靠性。本文通过一个实际的传导发射整改案例,详细展示了从问题定位、分析到解决方案实施的全过程。希望这些经验能够为从事类似产品设计的工程师提供有价值的参考,在未来的产品开发中避免类似问题,设计出更加可靠、稳定的BMS产品。EMC设计是一门结合理论与实践的艺术,只有通过不断积累经验、深入理解电磁场理论,并紧密结合实际应用场景,才能在复杂的电磁环境中设计出鲁棒性强的电子产品。

m0_56451176的博客 272

React 数据传递指南:6 种方式让组件“无话不谈”

在 React 开发中,组件之间的数据传递就像现实中的聊天——父子组件可以直接对话,兄弟组件需要‘中介’,而跨层级组件可能得靠‘广播’。今天,我就结合 6 年实战经验,带大家解锁 React 组件通信的 6 种姿势,让你彻底告别‘数据孤岛’!

欢迎来到我的前端博客!这里汇集了关于前端开发的最新技术、实用工具和经验分享。我将为你提供详细的教程、代码示例和实战案例,帮助你掌握Web开发的核心概念和技能。不论你是初学者还是有经验的开发者,这个博客都适合你。 1669

LAMMPS实例教程—In文件详解

本博文主要介绍专栏 《LAMMPS实例教程—In文件详解》, 针对于 Lammps 可分析的物理过程进行讲解,提供 In 文件以及后处理方法,持续更新。 目前分为8个专题: 1)力学专题、2)传热专题、3)相变专题、4)界面专题、5)吸附专题、6)流动专题、7)物性专题以及8)基础理论专题。

Rockyoung 3万+

react native添加监听跨组件调用事件

最近遇到一个要调用与当前组件没有任何关联的组件的事件的问题,鉴于js的监听机制就打算采取添加监听的办法,但是js得监听貌似在react native中不好用,所以查看了下react native自带的监听机制: 添加监听 注意应定要在释放的时候移除监听。 发送监听后面的3是要传递的参数 changTab就是在受到监听的时候调用的事件。这样就完成了一个完整的监听。

u013751625的博客 3606

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

一文搞懂vue的$attrs和$listeners,和react props的对比后更容易记忆

近期编写vue组件,用到vue新增的api$attrs和$listeners,看了网上很多帖子,感觉介绍的都不直观,并不能让使用者快速了解二者到底是什么作用,本文结合实际使用场景,给出$attrs和$listeners的使用方法。并且引入引深思考,和react props传递进行对比。 首先介绍$attrs 作用:主要用于跨组件传输props,中间组件使用v-bind = "$attrs"转发...

前端361 1183

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

学习React[三]

1.跨组件通信-props import React, { PureComponent } from 'react' // 子组件 class ProfileHeader extends PureComponent { render() { ​ return ( <div> ​ <h2>姓名: {this.props.nickname}</h2> ​ <h2>年龄: {this.props....

weixin_60505953的博客 132

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

5种高效React Native Navigation数据传递方式:从入门到精通

React Native Navigation是一个功能强大的原生导航解决方案,为React Native应用提供完整的导航功能。在开发过程中,组件间的数据传递是构建流畅用户体验的关键环节。本文将详细介绍5种实用的数据传递方法,帮助你轻松应对各种场景下的通信需求。 ## 1. 基础参数传递:通过导航动作传递数据 最直接的数据传递方式是在调用导航动作时附加参数。React Native Navi

gitblog_00923的博客 759

react--事件--组件通信

事件处理 绑定事件 采用on+事件名的方式来绑定一个事件 这里和原生的事件是有区别的,原生的事件全是小写如onclick,React中的事件是驼峰如onClick React的事件并不是原生事件,而是合成事件 事件handler的写法 直接在render里写行内的箭头函数(不推荐) 看着不爽,污染了html结构 import React,{Component,Fragment} from ...

azmingliang的博客 288

React中events的踩坑指南

本文介绍react项目中如何创建events来进行跨组件事件触发重点讲解自定义参数传递,和如何拿到最新的state值🌟。

分享前端知识,记录前端进阶 908

react、vue 使用node.js eventEmitter跨组件传参(还可以用来监听值的变化处理一些事情)

前言: 最近在react项目中,遇到了这样一个场景,首页有很多组件,地图组件,侧边栏,图层管理,甚至图层管理还有子组件。这样父/子/孙,甚至没有任何关系的组件都要能拿到首页的一些状态。一开始想要用redux但是为了这么小的地方搭建繁琐的redux显然不明智。(redux当然也可以实现)。其实我这里更推荐react+dva(这个是react轻量级框架把redux内置里面了不用自己搭建redux)。当然还有更简单的方法那就是node.js的eventEmitter。 一、eventEmitter的作用和介绍

从事前端,不断积累经验,学习新的技术。头像不是本人是莉莉崽(美貌、可爱集于一身的小姐姐,小仙女),一个宝藏博主,值得喜欢! 2832

伪事件总线的使用

在VUE的兄弟组件间的通信中会有一个Event-Bus事件总线,而在react中没有这个辅助的函数来实现通信,但是在项目较小的兄弟间的通信中,react给出了一个类似事件总线的方法--伪事件总线。 伪事件总线通过node中的Event模块实现,Event可以实现也可以触发事件,react通过Event的这个属性来解决兄弟间的通信。 首先创建一个js文件(eg:demo.js),   impo...

weixin_30664615的博客 135

组件通信传递数据

组件通信 父传子 Parent.js文件里(父组件) import React from "react"; import { Child } from './Child' export class Parent extends React.Component { state = { Name: 'zy' } render() { return ( <div> <div>我是父组件,我的名字:{this.state.Name}&l...

m0_62852343的博客 1372

React事件总线

通过Context主要实现的是数据的共享,但是在开发中如果有跨组件之间的事件传递,应该如何操作呢? 一、安装events 在Vue中我们可以通过Vue的实例,快速实现一个事件总线(EventBus),来完成操作; 在React中,我们可以依赖一个使用较多的库 events 来完成对应的操作;我们可以通过npm或者yarn来安装events: 二、events常用的API: 创建EventEmitter对象:eventBus对象; 发出事件:eventBus.emit(“事件名称”, 参数列.

zep 1744

react-use-event-hook:一种更稳定的回调函数处理方案

react-use-event-hook:一种更稳定的回调函数处理方案 在React开发中,管理事件处理器(event handlers)的稳定性一直是一个挑战。react-use-event-hook项目提供了一种创新的解决方案,让回调函数在组件的整个生命周期内保持稳定。 项目介绍 react-use-event-hook 是一个用户层面的useEvent钩子实现,旨在解决React中回调函数在...

gitblog_00615的博客 346

react兄弟组件传递数据

通过发布/订阅进行传递 在子组件A中 commentDidMount函数中,发布事件,在子组件B中commentDidMount函数中对事件进行监听 import {EventEmitter} from 'events'; const emitter = new EventEitter(); class A extends React.Component { clickHandle...

ferrysoul的博客 1234

前端react 事件总线

介绍事件总线(EventBus)是一种广泛用于软件架构中的设计模式,通常作为多个模块间的通信机制,它可以帮助组织和管理应用程序中不同组件之间的通信,以提高应用程序的可维护性、可扩展性和灵活性。事件总线模式应用了发布者/订阅者模式,不同的组件通过订阅和发布事件来进行通信。发布者发布一个事件,订阅者可以订阅该事件并在事件发生时执行相关的操作。事件总线充当了中介者的角色,它负责管理所有的事件和订阅者,并确保事件正确地传递到所有订阅者。

weixin_44405693的博客 1889
上一篇: WKWebView js交互内存释放问题
下一篇: ReactJS Start/build内存溢出
FreshManCode
博客等级 码龄9年 8粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值