React 初探(三)- 父子组件通信

概述

既然有了组件,那么组件之间如何进行通信呢?

Demo

在线运行

预览

这个 demo 主要的功能有:

  • Parents 组件向 Son1Son2 组件传递一个 age 属性
  • Son1Son2 组件都可以更改自己的名字
  • Son1Son2 组件都可以 call parent,并且将自己的名字传给 Parents 组件,当 Parents 组件接收到之后,将此 Sonage 增加1并且将谁 call 的显示在页面中
  • demo 中还有一个 style 的变换
    style 变换

父子组件之间通信

其中 Parents 组件是父组件,Son1Son2 组件是子组件,父组件向子组件传递参数直接在标签后添加属性即可
父组件向子组件传递参数
子组件使用 props 接收父组件传递的参数
子组件使用 props 接收参数
子组件通知父组件是通过回调形式,父组件给子组件传递一个参数( function ),子组件在适当的时候调用此参数 ( function ),并且可以传递一些必要的参数。例如: demo 中的 this.state.name
<button onClick={this.props.callParent.bind(this, this.state.name)}>call parent</button>

更深层次的通信

将上述例子复杂化,在 Son1Son2 组件上增加一个 Home 组件,此时 Son1Son2 组件无法直接接收到 callParentage 属性。这时将 callParentage 属性依次传递下去即可(在线运行

更深层次的通信

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 您将在本文当中了解到,往网页中添加数据,从传统的dom操作过渡到数据层操作,实现同一个目标,两种不同的方式....
    itclanCoder阅读 26,213评论 1 12
  • 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装...
    youins阅读 9,693评论 0 13
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,602评论 1 45
  • 或许你会奇怪我这样一个普通的大学生为什么会有这样的想法,本该脸上永远带着笑身上永远发着光的年纪,我却深深羡慕着我...
    酆籽阅读 487评论 0 1
  • 郭子仪是华州人,起初在沙漠边塞当兵驻防,后来因为到京城催军饷,走到离银州十几里的地方时,忽然起了风暴,刮得飞沙走石...
    愛恩阅读 586评论 0 0

友情链接更多精彩内容