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获取onclick、onchange等事件值的代码
Jul 22 Javascript
实用框架(iframe)操作代码
Oct 23 Javascript
js实现鼠标点击左上角滑动菜单效果代码
Sep 06 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
Javascript随机标签云代码实例
Jun 21 Javascript
jQuery Validate设置onkeyup验证的实例代码
Dec 09 Javascript
angularjs指令之绑定策略(@、=、&amp;)
Apr 13 Javascript
Bootstrap提示框效果的实例代码
Jul 12 Javascript
webpack3之loader全解析
Oct 26 Javascript
微信小程序webview实现长按点击识别二维码功能示例
Jan 24 Javascript
Vue使用watch监听一个对象中的属性的实现方法
May 10 Javascript
微信小程序 bindtap 传参的实例代码
Feb 21 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中使用数组指针函数操作数组示例
2014/11/19 PHP
Laravel 5 框架入门(四)完结篇
2015/04/09 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
[js高手之路]原型式继承与寄生式继承详解
2017/08/28 Javascript
JavaScript实现多重继承的方法分析
2018/01/09 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
python实现统计代码行数的方法
2015/05/22 Python
python实现图片处理和特征提取详解
2017/11/13 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
一百多行python代码实现抢票助手
2018/09/25 Python
OpenCV3.0+Python3.6实现特定颜色的物体追踪
2019/07/23 Python
python+pygame实现坦克大战
2019/09/10 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
python中return如何写
2020/06/18 Python
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
冰雪公主观后感
2015/06/16 职场文书
linux目录管理方法介绍
2022/06/01 Servers