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 相关文章推荐
web基于浏览器的本地存储方法应用
Nov 27 Javascript
JS获取鼠标坐标的实例方法
Jul 18 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
May 11 Javascript
AngularJs定制样式插入到ueditor中的问题小结
Aug 01 Javascript
jQuery简单倒计时效果完整示例
Sep 20 Javascript
vue.js指令v-model实现方法
Dec 05 Javascript
微信小程序实战之自定义toast(6)
Apr 18 Javascript
JavaScript创建对象的七种方式(推荐)
Jun 26 Javascript
JS实现的抛物线运动效果示例
Jan 30 Javascript
图文介绍Vue父组件向子组件传值
Feb 17 Javascript
一个Vue页面的内存泄露分析详解
Jun 25 Javascript
JS实现移动端触屏拖拽功能
Jul 31 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提交表单发送邮件的方法
2015/03/20 PHP
php实现随机显示图片方法汇总
2015/05/21 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
详解为Angular.js内置$http服务添加拦截器的方法
2016/12/20 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
python 查找文件夹下所有文件 实现代码
2009/07/01 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
python简单操作excle的方法
2018/09/12 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
python新手学习可变和不可变对象
2020/06/11 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
化学学院毕业生自荐信范文
2013/12/17 职场文书
小学生安全演讲稿
2014/04/25 职场文书
学校交通安全责任书
2014/08/25 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
行政处罚听证告知书
2015/07/01 职场文书
致运动员赞词
2015/07/22 职场文书
60句有关成长的名言
2019/09/04 职场文书
SQLServer 日期函数大全(小结)
2021/04/08 SQL Server
MySQL 可扩展设计的基本原则
2021/05/14 MySQL
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电