安装create-react-class使用时报createReactClass is not defined错误,引入Bold Reports后出现
解决引入boldreports React组件时出现
createReactClass is not defined的问题 该报错的核心原因是@boldreports/react-reporting-components包为旧版React生态开发,内部默认从全局作用域读取createReactClass方法,而React 16+版本已经将该API从核心包中移除,仅在项目中局部导入create-react-class包时不会挂载到全局,因此第三方组件无法读取到该方法。
修复步骤
- 第一步:确认依赖已正确安装
执行安装命令:npm install create-react-class --save # 或使用yarn yarn add create-react-class - 第二步:提前将
createReactClass挂载到全局
在你引入@boldreports/react-reporting-components/Scripts/bold.reports.react.min的代码之前,添加如下代码:import createReactClass from 'create-react-class' window.createReactClass = createReactClass - 第三步:按原有逻辑引入boldreports相关组件即可,报错会自动消失
为什么示例项目可以正常运行
官方示例大概率使用的是React 15及更早版本,该版本React核心包内置createReactClass方法,默认挂载在全局React对象下,旧组件可直接读取,无需额外处理。

内容的提问来源于stack exchange,提问作者Archana Rao
相关产品推荐
相关产品推荐

