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 相关文章推荐
javascript,jquery闭包概念分析
Jun 19 Javascript
基于jquery的用鼠标画出可移动的div
Sep 06 Javascript
js中各种类型的变量在if条件中是true还是false
Jul 16 Javascript
浅谈JavaScript的Polymer框架中的behaviors对象
Jul 29 Javascript
JavaScript 控制字体大小设置的方法
Nov 23 Javascript
ReactNative短信验证码倒计时控件的实现代码
Jul 20 Javascript
JS中常用的消息框总结
Feb 24 Javascript
在vue中封装可复用的组件方法
Mar 01 Javascript
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
layui清除radio的选中状态实例
Nov 14 Javascript
JS数组方法join()用法实例分析
Jan 18 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
AngularJS ng-controller 指令简单实例
2016/08/01 Javascript
Ajax使用原生态JS验证用户名是否存在
2020/05/26 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
2018/11/05 Javascript
ES6入门教程之变量的解构赋值详解
2019/04/13 Javascript
JavaScript进阶(三)闭包原理与用法详解
2020/05/09 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
pyqt和pyside开发图形化界面
2014/01/22 Python
Python程序设计入门(4)模块和包
2014/06/16 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
Django ORM框架的定时任务如何使用详解
2017/10/19 Python
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
python实现石头剪刀布小游戏
2021/01/20 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
2019/05/15 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
领导视察欢迎词
2014/01/15 职场文书
酒店营销策划方案
2014/02/07 职场文书
银行贷款收入证明
2014/10/17 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
班主任班级管理心得体会
2016/01/07 职场文书
MySQL 时间类型的选择
2021/06/05 MySQL