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 相关文章推荐
jQuery 性能优化手册 推荐
Feb 23 Javascript
jQueryUI的Dialog的简单封装
Jun 07 Javascript
js脚本实现数据去重
Nov 27 Javascript
Javascript动画的实现原理浅析
Mar 02 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
May 28 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
May 10 Javascript
深入理解Vue 单向数据流的原理
Nov 09 Javascript
小程序清理本地缓存的方法
Aug 17 Javascript
在vue中多次调用同一个定义全局变量的实例
Sep 25 Javascript
javascript面向对象三大特征之继承实例详解
Jul 24 Javascript
解决Vue中 父子传值 数据丢失问题
Aug 27 Javascript
pnpm对npm及yarn降维打击详解
Aug 05 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代码包装修正版
2008/03/15 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
ECMAScript 基础知识
2007/06/29 Javascript
javascript 添加和移除函数的通用方法
2009/10/20 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
javascript原生封装一个淡入淡出效果的函数测试实例代码
2018/03/19 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
JavaScript实现简单计算器功能
2019/12/19 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
Python原始字符串(raw strings)用法实例
2014/10/13 Python
Python调用命令行进度条的方法
2015/05/05 Python
利用pandas进行大文件计数处理的方法
2018/07/25 Python
Python 3.3实现计算两个日期间隔秒数/天数的方法示例
2019/01/07 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
Python time库基本使用方法分析
2019/12/13 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
HTML5 本地存储和内容按需加载的思路和方法
2011/04/07 HTML / CSS
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
《十六年前的回忆》教学反思
2014/02/14 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
服务员岗位职责
2015/02/03 职场文书
教师考核鉴定意见
2015/06/05 职场文书