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 面向对象技术基础教程
Mar 03 Javascript
Javascript 类与静态类的实现
Apr 01 Javascript
javascript中数组array及string的方法总结
Nov 28 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
jQuery动态添加与删除tr行实例代码
Oct 18 Javascript
js实现登录验证码
Dec 22 Javascript
VUE使用vuex解决模块间传值问题的方法
Jun 01 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
Oct 04 Javascript
浅析Vue 生命周期
Jun 21 Javascript
vue组件内部引入外部js文件的方法
Jan 18 Javascript
在Vuex中Mutations修改状态操作
Jul 24 Javascript
浅谈vue-props的default写不写有什么区别
Aug 09 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/06/05 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
JavaScript在IE和Firefox浏览器下的7个差异兼容写法小结
2010/06/18 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
vue将对象新增的属性添加到检测序列的方法
2018/02/24 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
js中arguments对象的深入理解
2019/05/14 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
2020/06/22 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
Python3生成手写体数字方法
2018/01/30 Python
Python实现DDos攻击实例详解
2019/02/02 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
django连接oracle时setting 配置方法
2019/08/29 Python
flask框架配置mysql数据库操作详解
2019/11/29 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
python能否java成为主流语言吗
2020/06/22 Python
一文解决django 2.2与mysql兼容性问题
2020/07/15 Python
python opencv实现直线检测并测出倾斜角度(附源码+注释)
2020/12/31 Python
质检部岗位职责
2013/11/11 职场文书
高中生期末评语
2014/01/28 职场文书
酒店总经理职务说明书
2014/02/26 职场文书
工程承诺书怎么写
2014/05/24 职场文书
踏青活动策划方案
2014/08/19 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
react国际化react-intl的使用
2021/05/06 Javascript