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 相关文章推荐
window.open的功能全解析
Oct 10 Javascript
JavaScript性能优化 创建文档碎片(document.createDocumentFragment)
Jul 13 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
js获取ajax返回值代码
Apr 30 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
vue.js开发环境安装教程
Mar 17 Javascript
如何重置vue打印变量的显示方式
Dec 06 Javascript
实例讲解JavaScript预编译流程
Jan 24 Javascript
vue 对象添加或删除成员时无法实时更新的解决方法
May 01 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
vue中使用echarts的示例
Jan 03 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
用PHP查询域名状态whois的类
2006/11/25 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
PHP登陆后跳转到登陆前页面实现思路及代码
2014/01/17 PHP
初识PHP
2014/09/28 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
bootstrap如何让dropdown menu按钮式下拉框长度一致
2017/04/10 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
js闭包学习心得总结
2018/04/17 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
node.js学习笔记之koa框架和简单爬虫练习
2018/12/13 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
Python简单实现安全开关文件的两种方式
2016/09/19 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
对python中各个response的使用说明
2020/03/28 Python
Python中logger日志模块详解
2020/08/04 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
先进工作者获奖感言
2014/02/08 职场文书
代办委托书怎样写
2014/04/08 职场文书
班级年度安全计划书
2014/05/01 职场文书
政治表现评语
2014/05/04 职场文书
现实表现证明材料
2015/06/19 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL