React父子组件间的通信是如何进行的


本篇内容介绍了“React父子组件间的通信是如何进行的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(1)传递数据(父传子)与传递方法(子传父)(2)ref标记(父组件拿到子组件的引用,从而调用子组件的方法)使用 props属性,传入propsthis.props.数据父组件向子组件传一个函数,然后通过子组件中这个函数的回调,拿到子组件穿过的值this.props.函数名()在组件身上绑定ref,直接通过 this.username.current 获得整个组件,this.username.current.state获得子组件内state数据this.ref名.current父组件中清除子组件的值:在子组件中定义修改state函数,父组件中调用此函数来实现React中的状态提升概括来说,就是将多个组件需要共享的状态提升到它们最近的父组件上,在父组件上改变这个状态然后通过props分发给子组件兄弟组件AB,子组件A将值传给B组件,在子组件A中发布,在子组件B中订阅,,此方法适合任意关系的通信调度中心bus:1.订阅消息2.发布消息bus.publish调用时,传入参数,触发bus中publish函数并接收到数据即text,调用callback回调函数,传入text,此时调用者subscribe将收到参数为value,即将组件A数据传入组件B中Context 提供了一种在组件之间共享此类值的方式,是“全局”的数据,而不必显式地通过组件树的逐层传递 props。context上下文对象来管理公共状态,来实现数据的修改1.创建context对象2.创建提供数据的父组件Provider给Provider组件设置value属性,需要传递到后代组件中的数据作为value的值当Provider发生数据value变更时,会触发到Consumer发生渲染,所有被其包裹的子组件都会发生渲染(render被调用)3.创建接受数据的子孙组件Consumer4.在子孙组件A中调用Provider中的回调函数某些时候需要内部组件去更新Context的数据,只需要向上下文添加回调函数即可全局定义状态,并修改状态5.子孙组件B中接收Provider的数据实现了将组件A的值传给了组件B的值作用:为了复用;一定程度减少父子通信在React组件中直接包裹一些html标签,html标签内容是否会出免费云主机域名现呢?由上图可见,被包裹的html标签并未被渲染出来,这是因为当读取到Child组件时,会重新渲染页面覆盖被包裹的html标签;而我们可以在Child组件中留下html标签的位置,以便来显示被包裹的html,这种做法即为 插槽语法使用props的固定属性children在Child组件中占位父组件的子组件标签中写入要插入到子组件的html标签在子组件中放入该标签如果children中有多个元素,那么children为一个数组,数组中放着所有存放的内容注意:以上方法实现了 可以通过被 插槽的内容来直接操作父组件,以此给子组件传递数据(被 插入的内容连同数据一起插入子组件中)。“React父子组件间的通信是如何进行的”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 如何显示JSP分页用户信息列表

这篇文章主要介绍“如何显示JSP分页”,在日常操作中,相信很多人在如何显示JSP分页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何显示JSP分页”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!首先要定义四个变量:int p…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/21 19:06
下一篇 05/21 19:06

相关推荐