ES6下子组件调用父组件的方法(推荐)


Posted in Javascript onFebruary 23, 2018

出于某些目的,最近又开始研究起了RN,看着教程一步步的学习,在最近却是碰到了一个问题,那就是父子组件的方法调用的问题。

这个问题我百度了很久,JS的ES6语法下,用class创建组件,子组件调用父组件方法模拟器不断报错。

因为我看的视频是基于es5的语法来实现的代码,所以语法有些不同。

es5的语法下,方法的this都是RN已经帮我们处理好了的,所以按照视频中的示例是可以达成效果的,但是es6貌似是要自己写的。。

具体的写法就是在constructor中添加 this.xxxxx = this.xxxxx.bind(this);

或者在子组件绑定的时候就写this.xxxxx.bind(this) .

这里就不多讲了,下面上代码,以供需要的人参考。

export default class TestPrj extends Component {
    constructor(props){
      super(props);
      this.timesReset = this.timesReset.bind(this);
      this.state = {timex:2};
    }
    timesReset(){
      this.setState({
        timex:0
      });
    }
    render() {
      return(
        <View style={styles.container}>
          <Son ref="Son1" timex={this.state.timex} timesReset={this.timesReset}/>
          //或者<Son ref="Son1" timex={this.state.timex} timesReset={this.timesReset.bind(this)}/>
        </View>
      );
    }
  }
 class Son extends Component{
  
  constructor(props){
    super(props);
    this.state = {times:this.props.timex};
  }
  componentWillReceiveProps(props){
    console.log(this.props);
    this.setState({
      times:props.timex
    })
  }
  timesReset(){
    this.props.timesReset();
  }
  render(){
    return(
    <View style={styles.container}>
      <Text style={styles.instructions}>
      儿子:虽然你揍了我 {this.state.times} 次,但是我 永 不 屈 服!!
      </Text>
      <TouchableHighlight style={styles.btn} underlayColor={'pink'} onPress={this.timesReset.bind(this)}>
        <Text style={{textAlign:'center'}}>爹,再给你儿子一次机会!!</Text>
      </TouchableHighlight>
    </View>
    );
  }
}

以上这篇ES6下子组件调用父组件的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 子窗口操作父窗口的代码
Sep 21 Javascript
jquery图片延迟加载 前端开发技能必备系列
Jun 18 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
Apr 08 Javascript
node.js中的fs.writeFile方法使用说明
Dec 14 Javascript
JS实现状态栏跑马灯文字效果代码
Oct 24 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
Nov 04 Javascript
JS Array.slice 截取数组的实现方法
Jan 02 Javascript
javascript实现任务栏消息提示的简单实例
May 31 Javascript
react路由配置方式详解
Aug 07 Javascript
Vue 拦截器对token过期处理方法
Jan 23 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
Nov 30 Javascript
angular动态表单制作
Feb 23 #Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 #Javascript
浅谈vuejs实现数据驱动视图原理
Feb 23 #Javascript
Vue父组件调用子组件事件方法
Feb 23 #Javascript
vue实现密码显示隐藏切换功能
Feb 23 #Javascript
对vue.js中this.$emit的深入理解
Feb 23 #Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 #Javascript
You might like
使PHP自定义函数返回多个值
2006/11/26 PHP
php tp验证表单与自动填充函数代码
2012/02/22 PHP
header导出Excel应用示例
2014/01/24 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
js常用函数 不错
2006/09/08 Javascript
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
JavaScript中“基本类型”之争小结
2013/01/03 Javascript
jquery插件开发注意事项小结
2013/06/04 Javascript
jQuery自定义滚动条完整实例
2016/01/08 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
BootStrap selectpicker
2016/06/20 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
Vue 嵌套路由使用总结(推荐)
2020/01/13 Javascript
Python中IPYTHON入门实例
2015/05/11 Python
Python找出9个连续的空闲端口
2016/02/01 Python
postman和python mock测试过程图解
2020/02/22 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
CSS3制作气泡对话框的实例教程
2016/05/10 HTML / CSS
加拿大时装零售商:Influence U
2018/12/22 全球购物
无工作经验者个人求职信范文
2013/12/22 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
英文推荐信格式范文
2014/05/09 职场文书
责任担保书范文
2014/05/21 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
步步惊心观后感
2015/06/12 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
导游词之河北白洋淀
2020/01/15 职场文书
CSS极坐标的实例代码
2021/06/03 HTML / CSS
基于Python实现射击小游戏的制作
2022/04/06 Python