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里使用Dom操作Xml
Sep 20 Javascript
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
Dec 26 Javascript
js实现透明度渐变效果的方法
Apr 10 Javascript
jquery siblings获取同辈元素用法实例分析
Jul 25 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
Feb 09 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
webpack组织模块打包Library的原理及实现
Mar 10 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
Oct 15 Javascript
javascript设计模式 ? 策略模式原理与用法实例分析
Apr 21 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
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传输数据的代码
2007/11/13 PHP
3个PHP多维数组转为一维数组的方法实例
2014/03/13 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
jQuery实现hover合成事件的方法
2015/08/06 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
bootstrap table动态加载数据示例代码
2017/03/25 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Python装饰器用法实例总结
2018/02/07 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
领导接待方案
2014/03/13 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
平安校园建设方案
2014/05/02 职场文书
新员工考核评语
2014/12/31 职场文书
合同纠纷调解书
2015/05/20 职场文书
葬礼主持词
2015/07/02 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS