RN无法识别state报错 bind()函数

RN开发中很多组件的属性这样写,正常,因为是通过React.createClass创建的组件会自动为closeModal绑定this,指定上下文。

若通过class extends React.Component方式所创建的组件这不能这样写,会报错。this.setState is not a function,this.setState is undefined.

只有改成如下的方式为函数绑定方法。onPressBackground={this._closeModal.bind(this)}

绑定函数的方式有两种:可以在调用函数的地方绑定,也可以在constructor方法里面绑定。

在一个函数的参数中,如果此函数没有返回值,则会在相关文档中之处传参的类型。没有返回值传函数进去的情况有两种:一直是直接填写函数进去(注意是否需要绑定),二是通过箭头函数(不需要绑定)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 作为一个合格的开发者,不要只满足于编写了可以运行的代码。而要了解代码背后的工作原理;不要只满足于自己的程序...
    六个周阅读 8,512评论 1 33
  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 2,860评论 1 18
  • 目前,react组件有三种写法,分别是es5的createClass写法,es6的class写法,以及statel...
    ZoomFunc阅读 1,849评论 0 1
  • react 基本概念解析 react 的组件声明周期 react 高阶组件,context, redux 等高级...
    南航阅读 1,088评论 0 1
  • 自己最近的项目是基于react的,于是读了一遍react的文档,做了一些记录(除了REFERENCE部分还没开始读...
    潘逸飞阅读 3,485评论 1 10