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 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
js动态调用css属性的小规律及实例说明
Dec 28 Javascript
js与jquery回车提交的方法
Feb 03 Javascript
js实现数组转换成json
Jun 26 Javascript
JS跨域解决方案之使用CORS实现跨域
Apr 14 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
Jun 14 Javascript
Angular使用$http.jsonp发送跨站请求的方法
Mar 16 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
Jul 02 Javascript
Vue Prop属性功能与用法实例详解
Feb 23 Javascript
React+TypeScript+webpack4多入口配置详解
Aug 08 Javascript
Node.js操作MongoDB数据库实例分析
Jan 19 Javascript
JavaScript实现消消乐的源代码
Jan 12 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 多行多列显示
2009/08/15 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
angularjs $http调用接口的方式详解
2018/08/13 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
对pandas中时间窗函数rolling的使用详解
2018/11/28 Python
python之信息加密题目详解
2019/06/26 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
python 实现Harris角点检测算法
2020/12/11 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
生物化工工艺专业应届生求职信
2013/10/08 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
小学生环保演讲稿
2014/04/25 职场文书
公路绿化方案
2014/05/12 职场文书
个人自查自纠材料
2014/10/14 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
《爱的教育》读书心得
2014/11/08 职场文书
2014年生产部工作总结
2014/12/17 职场文书
佛光寺导游词
2015/02/10 职场文书
职位证明模板
2015/06/23 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python