遇到问题Cannot read property 'projectModes' of undefined,无法断点调试

来源:7-7 FlatList的高级应用&上拉加载更多功能实现-2【这个技能很实用】

suyx

2019-10-27

老师,您好。我在完成了7-5自定义组件实现列表Item后,App正常。

在完成了7-6和7-7这两课后。App总是报如下错误。

http://img1.sycdn.imooc.com/szimg/5db5a7830970118b00000000.jpg

bug所指的PopularPage.js相关代码如下:

http://img1.sycdn.imooc.com/szimg/5db5a8e2095fe1ed08120313.jpg

http://img.mukewang.com/szimg/5db5a96509b3551305920349.jpg

http://img.mukewang.com/szimg/5db5a9170976ed1611740199.jpg

我把您这两课的视频反复看了几遍。对照自己的代码,没有发现问题。

我试着用断点调试,发现不管用。

我在这4个地方打了断点,但是只在_store() 这里停了下来。为什么其它3个地方的断点不停呢?

打断点的时候http://img.mukewang.com/szimg/5db5b4390972281302270038.jpghttp://img.mukewang.com/szimg/5db5b467094df2f802040031.jpg最右边的标志在蓝色和灰色状态下都试过。结果一样。

action的断点没停

http://img.mukewang.com/szimg/5db5ac0d097d3b2406540200.jpg

reducer的断点没停

http://img.mukewang.com/szimg/5db5ac5009b324c803120180.jpg

PopularPage里的断点为什么loadData(loadMore)这个断点也不停呢?

http://img1.sycdn.imooc.com/szimg/5db5acb5090dbb5206490329.jpg

只有_store()这个断点停了。发现popular是空的

store的数据如下:

http://img1.sycdn.imooc.com/szimg/5db5acf10985738b06060024.jpg

store = {items: Array(0), isloading: false, projectModes: Array(0), hideLoadingMore: true}

————————————————

看来store.projectModes拿不到数据。

————————————————

我检查了下const URL。后面加个java直接输入这个网址能拿到返回数据。

————————————————

我现在不知道怎么办了。

action/popular/index.js和reducer/popular/index.js这两个文件打断点完全无效,无法调试。

如果光对照代码的话,我把您的视频看了好几遍,也没有发现错误。

这个问题困扰我好久了,长时间自己摸索,一直找不到答案。还请老师多多指点。谢谢您!


写回答

1回答

CrazyCodeBoy

2019-10-28

可以使用debugger代替断点;

关于报错的问题,可以对照下这块的课程源码:

https://git.imooc.com/coding-304/GitHub_Advanced/src/c25f16202cdf9fe28074a1c7b96b26613963bfc5

看是不是有出入的地方。


1
2
suyx
老师,我还有个疑问。 当我忘记return store了,为什么在其他代码都没有错误的情况下,返回的popular和store数据是空的呢? 当我忘记在_store() 中写return store;时, 当程序首次运行到 componentDidMount() { this.loadData(); } 这个时候会运行loadData(loadMore)中的onRefreshPopular(this.storeName, url, pageSize)吧? 为什么popular = { },store.items和store.projectModes这些全是空的呢?
2019-10-28
共2条回复

RN入门到进阶,打造高质量上线App

解锁React Native开发应用新姿势,React Native新版本热门技术

3144 学习 · 3241 问题

查看课程