reactjs - React confetti:超级表达式必须为空或函数
问题描述
我正在尝试为我的应用程序使用 react-confetti。在开发中一切正常。但是当我尝试推送应用程序时,我的浏览器会呈现一个空白屏幕并在控制台中给我这个警告:
Uncaught TypeError: Super expression must either be null or a function
at react-confetti.min.js:570
at react-confetti.min.js:569
at Module.<anonymous> (react-confetti.min.js:552)
at n (react-confetti.min.js:14)
at Object.e.exports (react-confetti.min.js:177)
at n (react-confetti.min.js:14)
at e.exports (react-confetti.min.js:50)
at Object.<anonymous> (react-confetti.min.js:4)
at f ((index):2)
at Module.843 (main.661b6aa6.chunk.js:1)
我的组件如下所示:
import React, { Component, createRef } from 'react'
import Confetti from 'react-confetti'
class IndexView extends Component {
constructor(props) {
super(props)
this.state = {
height: 0,
width: 0,
}
this.confettiDiv = createRef();
}
componentDidMount() {
const height = this.confettiDiv.current.clientHeight;
const width = this.confettiDiv.current.clientWidth;
this.setState({ height, width })
}
render() {
return (<div ref={this.confettiDiv}><Confetti height={this.state.height} width={this.state.width}/></div>)
}
}
我不确定是否可以对这个错误做任何事情,因为它似乎发生在模块本身中。也许有人以前遇到过这个问题?
解决方案
将 react-confetti 版本降级到 4.0.1 对我有用。缩小版似乎有一些问题。
如果您不想降级,请将导入更改为此。
import Confetti from 'react-confetti'; --before
import Confetti from 'react-confetti/dist/react-confetti'; --after
推荐阅读
- laravel - Laravel 一对多关系获取数据
- vb.net - 基于单元格值的颜色 Datagridview 单元格背景颜色(阴影像 excel 条件格式)vb.net
- amazon-web-services - Sagemaker 批量转换错误“模型容器无法响应 ping;确保 /ping 端点已实施并以 HTTP 200 状态响应”
- ios - 按名称从数组中获取数据 - swift
- typescript - 如何处理泛型中的函数重载
- linkedin - 是否可以通过 API 搜索帐户并根据其公司网站获取关注者?
- python - 在 Numpy 中删除空行的精明方法
- unity3d - 在实例化对象的脚本中获取 Prefab - Unity 2D
- java - 使用 squareup.wire 在 proto 中获取 nestedTypes 的原始模式
- sql-server - 触发器适用于 UPDATE/INSERT,但在通过 BCP 运行时失败(日期格式问题)