这天,线上突然出现了一个bug,某个页面打开空白,看控制台报错minified react error #130,在本地看却是正常的,百思不得其解。
后来发现是由于线上项目它的包更新过了,而我本地的包没有更新,所以我没能复现这个错误。
于是删掉node_modules,然后重新下载依赖,再运行项目,问题果然复现了,在生产模式下,我们可以看到更详细的提示:
由这两条信息,我们现在可以可以定位问题所在了,就是在我们SimRecordForm文件的145行附近,有一个element type is invalid的错误。
根据定位我找到如下代码
我们知道我们在react中写的jsx会被babel编译成React.createElement()模式,仅这段代码来说,它会转换成
React.createElement(
'p',
{className:'ant-upload-drag-icon'},
React.createElement(InboxOutlined,null)
)
而警报信息提示我们element type is invalid,这意味着React.createElement的第一个参数错了,正好控制台提示发现是由于InboxOutlined组件找不到了,导致React.createElement第一个参数错误,最终导致页面空白
解决办法就是把这个组件换掉······