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 相关文章推荐
Riot.js 快速的JavaScript单元测试框架
Nov 09 Javascript
浅析return false的正确使用
Nov 04 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
Aug 10 Javascript
JS中的二叉树遍历详解
Mar 18 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
Jul 04 Javascript
移动适配的几种方案(三种方案)
Nov 25 Javascript
Angular4学习笔记之根模块与Ng模块
Sep 09 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
React组件中的this的具体使用
Feb 28 Javascript
详解ES6 系列之异步处理实战
Oct 26 Javascript
微信小程序wepy框架学习和使用心得详解
May 24 Javascript
利用JavaScript模拟京东按键输入功能
Dec 01 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 显示客户端IP与服务器IP的代码
2010/10/12 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
php通过各种函数判断0和空
2020/07/04 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
JavaScript常用的返回,自动跳转,刷新,关闭语句汇总
2015/01/13 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
Vue.js弹出模态框组件开发的示例代码
2017/07/26 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
python海龟绘图实例教程
2014/07/24 Python
python随机生成指定长度密码的方法
2015/04/04 Python
在Lighttpd服务器中运行Django应用的方法
2015/07/22 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python 定义n个变量方法 (变量声明自动化)
2018/11/10 Python
python 字符串常用方法汇总详解
2019/09/16 Python
python实现移动木板小游戏
2020/10/09 Python
最新pycharm安装教程
2020/11/18 Python
荷兰睡眠专家:Beter Bed
2020/11/23 全球购物
令人啧啧称赞的经理推荐信
2013/11/07 职场文书
本科毕业自我鉴定
2014/03/20 职场文书
劳模先进事迹材料
2014/12/24 职场文书
销售员自我评价
2015/03/11 职场文书
催款律师函范文
2015/05/27 职场文书
大学生创业计划书
2019/06/24 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript