开发者社区> 问答> 正文

、本地开发react项目,运行外部引入的组件某个事件时报错,如何准确定位到错误原因。

本地开发react项目,运行外部引入的组件某个事件时报错,如何准确定位到错误原因。

在本地运行一个react+antd项目,点击pagination组件的页数li后触发组件的改变页数事件,在这个过程中组件报了错。

antd里介绍的关于onChange事件的使用:

image.png

我在代码里实际的应用,(将绑定的函数从当前组件的方法改为props属性的方法后执行onChange事件报错,但是onShowSizeChange事件没问题):

image.png

出错情况:

image.png

image.png

提示是因为‘apply’undefined. 下面是antd经webpack编译生成后的table.jsx文件

antd里的源码:

image.png

可以看到,编译后的jsx文件是 pagination.onChange(pagination.current, ...otherArguments); 这一句报的错。 对应的源码是549行的那一句。 看着antd源码逻辑是没什么问题的,可是又不能通过debugger等方法调试定位。

找不到错误原因,想问下各位大佬,这种问题该怎么解决。

展开
收起
问问小秘 2020-01-09 16:45:01 2052 0
1 条回答
写回答
取消 提交回答
  • 报错已经很明显的告诉你了。 Cannot read property 'apply' of undefined 说明你的pagination.onChange是undefined呀。

    当你报错的时候,控制台抛出错误. 会帮你定位到是哪里错了。 这个时候你只需点击错误就会帮你跳转到错误的地方。 定位出错的位置,你就可以打断点,然后继续重复你刚刚的操作,断点进来, 可以看到这个时候就是调用你定义的方法的时候,看代码,此处调用了pagination.onChange.apply,根据报错原因Cannot read property 'apply' of undefined,猜测出pagination.onChange是undefined。 试着在控制台输出pagination, 发现pagination.onChange确实是undefined。

    2020-01-09 18:25:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React在大型后台管理项目中的工程实践 立即下载