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 未结束的字符串常量常见解决方法
Jan 24 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
Sep 26 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
May 19 Javascript
jquery实现显示已选用户
Jul 21 Javascript
Javascript基础教程之关键字和保留字汇总
Jan 18 Javascript
JS实现环形进度条(从0到100%)效果
Jul 05 Javascript
js实现炫酷的左右轮播图
Jan 18 Javascript
深入理解vue-loader如何使用
Jun 06 Javascript
Vue源码学习之初始化模块init.js解析
Nov 02 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
Jun 25 Javascript
说说如何在Vue.js中实现数字输入组件的方法
Jan 08 Javascript
JSONObject与JSONArray使用方法解析
Sep 28 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
JQuery实现简单验证码提示解决方案
2012/12/20 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
JavaScript设计模式之缓存代理模式原理与简单用法示例
2018/08/07 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
js设置默认时间跨度过程详解
2019/07/17 Javascript
浅谈Node新版本13.2.0正式支持ES Modules特性
2019/11/25 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
使用Python读取大文件的方法
2018/02/11 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
详解python 爬取12306验证码
2019/05/10 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
python各类经纬度转换的实例代码
2019/08/08 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
WebSphere 应用服务器都支持哪些认证
2013/12/26 面试题
小车司机岗位职责
2013/11/25 职场文书
预备党员思想汇报
2014/01/08 职场文书
网站创业计划书
2014/04/30 职场文书
金秋助学感谢信
2015/01/21 职场文书
第一节英语课开场白
2015/06/01 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
python画条形图的具体代码
2022/04/20 Python