react-native之undefined is not an object

开搞:

刚学习rn,有很多不理解的地方,常常会报undefined is not an object这个错,然后在不断的修改和试错的情况下,发现只要发生这个情况就有this存在,先贴出一段错误的代码

报错如下

说是this.state.header这地方错误,刚接触这些很郁闷,引用state里面的值不都是这么引入的吗,我试着写了个简单的demo

完全是可以的,这让我这个初入rn的初学者头疼了,后来我想,会不会和这个this有关呢,我试着删除{this.state.header},随便加点固定值,是完全可以的,后来我想,这个_header函数是FlatList组件的一个子组件,会不会是_header()函数的this指向的是FlatList组件呢?我要如何拿到全局的this呢? 后来看了下资料,找到了解决方法,就是给_header()函数绑定全局的this

运行结果图

总结:

1、子组件指向的this属于子组件,与父组件无关 2、子组件不能去父组件更新状态 3、如果要在子组件更新父组件的状态,给子组件绑定父组件的this

原文发布于微信公众号 - codelang(codelang)

原文发表时间:2017-10-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博文

Linux操作系统PS命令详细解析

要对系统中进程进行监测控制,用 ps 命令满足你。 /bin/ps ps 是显示瞬间行程的状态,并不动态连续;如果想对进程运行时间监控,应该用 top 工具。 ...

3434
来自专栏开发与安全

Ext2文件系统布局,文件数据块寻址,VFS虚拟文件系统

注:本分类下文章大多整理自《深入分析linux内核源代码》一书,另有参考其他一些资料如《linux内核完全剖析》、《linux c 编程一站式学习》等,只是为...

2250
来自专栏比原链

剥开比原看代码12:比原是如何通过/create-account-receiver创建地址的?

Gitee地址:https://gitee.com/BytomBlockchain/bytom

801
来自专栏java思维导图

jwt思维导图,让jwt不再难懂

一般情况下,web项目都是通过session进行认证,每次请求数据时,都会把jsessionid放在cookie中,以便与服务端保持会话。

744
来自专栏Create Sun

基础拾遗-----mongoDB操作

前言   nosq互联网中运用极广的技术,mongo应该算是必不可少的技术之一,虽说我在项目中redis用的较多,mongo在项目中算是用的比较少的技术,但是也...

32611
来自专栏惨绿少年

网络知识 ACL NAT IPv6

第1章 ACL 访问控制列表 访问控制表(Access Control List,ACL),又称存取控制串列,是使用以访问控制矩阵为基础的访问控制方法,每一个对...

3060
来自专栏IMWeb前端团队

Angularjs 初步使用总结

背景 在最近的一个管理后台的项目中,决定用angularjs去试一下水,后台采用express4.0的node来写,前端就直接用angularjs来实现。第一...

1817
来自专栏Linux驱动

24.Linux-Nand Flash驱动(分析MTD层并制作NAND驱动)

1.本节使用的nand flash型号为K9F2G08U0M,它的命令如下: ? 1.1我们以上图的read id(读ID)为例,它的时序图如下: ? 首先需要...

25310
来自专栏北京马哥教育

在Python中使用Elasticsearch

在这篇文章中,我将讨论Elasticsearch以及如何将其整合到不同的Python应用程序中。

1970
来自专栏用户2442861的专栏

Ext2文件系统布局,文件数据块寻址,VFS虚拟文件系统

http://blog.csdn.net/jnu_simba/article/details/11759809

662

扫码关注云+社区