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资料prototype 属性
Mar 13 Javascript
基于Jquery的动态添加控件并取值的实现代码
Sep 24 Javascript
jQuery实现类似淘宝购物车全选状态示例
Jun 26 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
Dec 05 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
Jan 05 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
Jan 20 Javascript
Vue.js中兄弟组件之间互相传值实例
Jun 01 Javascript
对vue中v-if的常见使用方法详解
Sep 28 Javascript
微信小程序列表中item左滑删除功能
Nov 07 Javascript
写一个Vue loading 插件
Nov 09 Javascript
浅谈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 如何向 MySQL 发送数据
2006/10/09 PHP
一步一步学习PHP(1) php开发环境配置
2010/02/15 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
JS实现基于Sketch.js模拟成群游动的蝌蚪运动动画效果【附demo源码下载】
2017/08/18 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
原生js生成图片验证码
2020/10/11 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
python通过线程实现定时器timer的方法
2015/03/16 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
使用TensorFlow实现SVM
2018/09/06 Python
matplotlib命令与格式之tick坐标轴日期格式(设置日期主副刻度)
2019/08/06 Python
python基础 range的用法解析
2019/08/23 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
python查看矩阵的行列号以及维数方式
2020/05/22 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
CSS3中的元素过渡属性transition示例详解
2016/11/30 HTML / CSS
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
名企HR怎样看待求职信
2014/02/23 职场文书
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
四年级学生期末评语
2014/12/26 职场文书
新手必备Python开发环境搭建教程
2021/05/28 Python