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 必知必会之closure
Sep 21 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
js复制到剪切板的实例方法
Jun 28 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
Sep 26 Javascript
jQuery.fn和jQuery.prototype区别介绍
Oct 05 Javascript
js仿小米官网图片轮播特效
Sep 29 Javascript
简单理解vue中实例属性vm.$els
Dec 01 Javascript
javascript表单正则应用
Feb 04 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
Apr 13 Javascript
Node.js爬取豆瓣数据实例分析
Mar 05 Javascript
vue实现商品列表的添加删除实例讲解
May 14 Javascript
小程序实现密码输入框
Nov 16 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
PHP session 会话处理函数
2016/06/06 PHP
删除重复数据的算法
2006/11/23 Javascript
javascript 节点排序 2
2011/01/31 Javascript
JS跨域代码片段
2012/08/30 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
vue图片加载失败时用默认图片替换的方法
2019/08/29 Javascript
javascript实现画板功能
2020/04/12 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
在Python中使用模块的教程
2015/04/27 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
基于python3的socket聊天编程
2020/02/17 Python
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
一套Delphi的笔试题一
2016/02/14 面试题
幼儿园教育教学反思
2014/01/31 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
作风转变年心得体会
2014/10/22 职场文书
市场督导岗位职责
2015/04/10 职场文书
新闻稿标题
2015/07/18 职场文书
二年级作文之动物作文
2019/11/13 职场文书
win10更新失败无限重启解决方法
2022/04/19 数码科技