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 类
Nov 07 Javascript
jQuery弹出层插件简化版代码下载
Oct 16 Javascript
jquery蒙版控件实现代码
Dec 08 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
Oct 15 Javascript
jQuery链使用指南
Jan 20 Javascript
JavaScript 封装一个tab效果源码分享
Sep 15 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
AngularJS 中的数据源的循环输出
Oct 12 Javascript
ElementUI radio组件选中小改造
Aug 12 Javascript
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
JS函数进阶之prototy用法实例分析
Jan 15 Javascript
详解react组件通讯方式(多种)
May 06 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
合作指挥官:孟斯克
2020/03/16 星际争霸
网站加速 PHP 缓冲的免费实现方法
2006/10/09 PHP
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
ASP SQL防注入的方法
2008/12/25 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
Python进程间通信之共享内存详解
2017/10/30 Python
Python 实现域名解析为ip的方法
2019/02/14 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python实现ftp文件传输功能
2020/03/20 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
世界第一曲奇连锁店:Mrs. Fields Cookies
2017/02/04 全球购物
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
小学安全汇报材料
2014/08/14 职场文书
建议书格式
2015/02/04 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书