React 子组件向父组件传值的方法


Posted in Javascript onJuly 24, 2017

本文介绍了React 子组件向父组件传值的方法,分享给大家

子组件需要控制自己的 state, 然后告诉父组件自己的state,通过props调用父组件中用来控制state的函数,在父组件中展示子组件的state变化。

/***实现在输入框输入邮箱时,在div中即时显示输入内容***/


<body>
  <div id="test"></div>
</body>

//子组件
var Child = React.createClass({
  render: function(){
    return (
      <div>
        邮箱:<input onChange={this.props.handleEmail}/>
      </div>
    )
  }
});

//父组件
var Parent = React.createClass({
  getInitialState: function(){
    return {
      email: ''
    }
  },
  handleEmail: function(event){
    this.setState({email: event.target.value});
  },
  render: function(){
    return (
      <div>
        <div>邮箱:{this.state.email}</div>
        <Child name="email" handleEmail={this.handleEmail.bind(this)}/>
      </div>
    )
  }
});
React.render(
 <Parent />,
 document.getElementById('test')
);

原理:

依赖 props 来传递事件的引用,并通过回调的方式来实现的,这样实现不是特别好,但在没有任何工具的情况下是一种简单的实现方式。

分析:

React中当state发生改变时,组件才会update。在父组件中设定state的初始值以及处理该state的函数,同时将函数名通过以props属性值的形式传入子组件,子组件通过调用父组件的函数,进而引起state变化,达到在父组件中展示子组件产生的变化。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js异步加载的三种解决方案
Mar 04 Javascript
JS实现倒计时和文字滚动的效果实例
Oct 29 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
Feb 20 Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 Javascript
JavaScript将数组转换成CSV格式的方法
Mar 19 Javascript
探讨JavaScript中的Rest参数和参数默认值
Jul 29 Javascript
深入解析JavaScript中的数字对象与字符串对象
Oct 21 Javascript
VUE元素的隐藏和显示(v-show指令)
Jun 23 Javascript
微信小程序模板(template)使用详解
Jan 31 Javascript
vue表单自定义校验规则介绍
Aug 28 Javascript
react 兄弟组件如何调用对方的方法示例
Oct 23 Javascript
jQuery实现广告显示和隐藏动画
Jul 04 jQuery
浅谈Node.js ORM框架Sequlize之表间关系
Jul 24 #Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
Jul 24 #Javascript
jQuery实现拼图小游戏(实例讲解)
Jul 24 #jQuery
php register_shutdown_function函数详解
Jul 23 #Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 #Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
Jul 23 #Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 #jQuery
You might like
无数据库的详细域名查询程序PHP版(1)
2006/10/09 PHP
php 常用的系统函数
2017/02/07 PHP
php mysql_list_dbs()函数用法示例
2017/03/29 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
js获取下拉列表框中的value和text的值示例代码
2014/01/11 Javascript
了不起的node.js读书笔记之node的学习总结
2014/12/22 Javascript
jQuery基础语法实例入门
2014/12/23 Javascript
ExpressJS入门实例
2015/01/14 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
React router动态加载组件之适配器模式的应用详解
2018/09/12 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
Python绘制的二项分布概率图示例
2018/08/22 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
Python 找出英文单词列表(list)中最长单词链
2020/12/14 Python
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
数控技术与应用毕业生自荐信
2013/09/24 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
财务总监岗位职责
2014/03/07 职场文书
辅导员评语
2014/05/04 职场文书
大学生第一学年自我鉴定
2014/09/12 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书
python实现过滤敏感词
2021/05/08 Python
TensorFlow的自动求导原理分析
2021/05/26 Python
macos系统如何实现微信双开? mac登录两个微信以上微信的技巧
2022/07/23 数码科技