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 混淆加密收藏
Jan 16 Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 Javascript
javascript中的prototype属性实例分析说明
Aug 09 Javascript
javascript使用activex控件的代码
Jan 27 Javascript
javascript函数声明和函数表达式区别分析
Dec 02 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
JavaScript调用客户端Java程序的方法
Jul 27 Javascript
js检测iframe是否加载完成的方法
Nov 26 Javascript
Javascript中八种遍历方法的执行速度深度对比
Apr 25 Javascript
将angular.js项目整合到.net mvc中的方法详解
Jun 29 Javascript
vue小图标favicon不显示的解决方案
Sep 19 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
Nov 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
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
php实现的click captcha点击验证码类实例
2014/09/23 PHP
php遍历CSV类实例
2015/04/14 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
yii2 开发api接口时优雅的处理全局异常的方法
2019/05/14 PHP
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
设置jsf的选择框h:selectOneMenu为不可编辑状态的方法
2014/01/07 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
jQuery+jRange实现滑动选取数值范围特效
2015/03/14 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
详解javascript 变量提升(Hoisting)
2019/03/12 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
微信小程序实现自定义底部导航
2020/11/18 Javascript
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
python之wxPython应用实例
2014/09/28 Python
深入理解Python中字典的键的使用
2015/08/19 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python利用matplotlib生成图片背景及图例透明的效果
2017/04/27 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
国庆阅兵观后感
2015/06/15 职场文书
实践论读书笔记
2015/06/29 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
mysql幻读详解实例以及解决办法
2022/06/16 MySQL