react.js 父子组件数据绑定实时通讯的示例代码


Posted in Javascript onSeptember 25, 2017

react.js我自己还在摸索学习中,碰到父子组件数据绑定实时通讯的问题,研究了一下,分享给大家,也给自己留个笔记:

import React,{Component} from 'react'
import ReactDOM from 'react-dom'

class ChildCounter extends Component{
  render(){
    return(
      <div style={{border:'1px solid red'}}>
        {this.props.count}
      </div>
    )
  }
}
/*
* 大家默认规定的一些步骤,方便大家看
* 1.默认值
* 2.初始化状态
* 3.钩子函数
* 4.方法函数
* */
class Counter extends Component{
  //默认属性对象
  static defaultProps={
    number:5
  }
  constructor(props){
    super(props);
    //获取我的初始状态
    this.state={
      number:props.number
    }
  }
  //钩子函数
  componentWillMount(){
    console.log('组件将要挂载')
  }

  componentDidMount(){
    console.log("组件挂载完成")
  }

  handleClick=()=>{
    //this.setState方法是异步的,一个函数里面只能调用一次this.setState方法
    //调用多次会合并,只执行一次
    this.setState((prev,next)=>({
      //上一次的状态prev
      number:prev.number+1
    }),()=>{
      console.log("回调函数执行")
    })

    // this.setState({index:this.state.index+1})

  }
  render(){
    //调用子组件ChildCounter,把当前状态值传过去
    return(
      <div>
        <p>{this.state.number}</p>
        <button onClick={this.handleClick}>+</button>
        <ChildCounter count={this.state.number}></ChildCounter>
      </div>
    )
  }
}
//渲染到页面
ReactDOM.render(<Counter></Counter>,document.querySelector("#root"))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于Javascript模块化和命名空间管理的问题说明
Dec 06 Javascript
简短几句 通俗解释javascript的闭包
Jan 17 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
Sep 11 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
Dec 16 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
Jan 29 Javascript
js实现表格筛选功能
Jan 18 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
Mar 30 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
Aug 18 Javascript
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 Javascript
Vue.js中该如何自己维护路由跳转记录
May 19 Javascript
vue读取本地的excel文件并显示在网页上方法示例
May 29 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
react native与webview通信的示例代码
Sep 25 #Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
Sep 25 #Javascript
vuex中使用对象展开运算符的示例
Sep 25 #Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 #Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
Sep 25 #Javascript
Three.js入门之hello world以及如何绘制线
Sep 25 #Javascript
es6系列教程_ Map详解以及常用api介绍
Sep 25 #Javascript
You might like
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
PHP导入导出Excel代码
2015/07/07 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
jQuery学习笔记之jQuery的动画
2010/12/22 Javascript
jQuery+CSS 实现随滚动条增减的汽水瓶中的液体效果
2011/09/26 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
JavaScript异步回调的Promise模式封装实例
2014/06/07 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
javascript计算渐变颜色的实例
2017/09/22 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
2018/02/13 jQuery
windows下create-react-app 升级至3.3.1版本踩坑记
2020/02/17 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
在Django框架中运行Python应用全攻略
2015/07/17 Python
Python字符串处理实例详解
2017/05/18 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
python小白切忌乱用表达式
2020/05/29 Python
CSS3的新特性介绍
2008/10/31 HTML / CSS
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
工作建议书范文
2014/05/13 职场文书
人力资源管理系自荐信
2014/05/31 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
关于vue-router-link选择样式设置
2022/04/30 Vue.js
基于redis+lua进行限流的方法
2022/07/23 Redis