在反应中使用react-text-marquee module时,我在Chrome开发工具控制台中收到错误。
我不知道如何在不将输出更改为字符串而不是JSX的情况下解决此问题。
我应该澄清一下,页面的功能实际上是正确的,但如果它们导致问题,那么摆脱错误会很好。
这是Chrome控制台错误:
std::push_heap
完整的Session.js代码
std::pop_heap
答案 0 :(得分:1)
以下两个选项基本上都只是隐藏警告。
选项1 :在运行时更改text
道具的类型:
import PropTypes from 'prop-types';
Marquee.propTypes.text = PropTypes.oneOfType([
PropTypes.string,
PropTypes.array,
]);
但是,如果库的作者决定进行更改以使您的组件使用不正确,则可能会出现问题。
选项2 :分叉存储库,更改源代码中的propTypes
字段,并在更新库的package.json中的版本后,在项目中设置指向它的链接&# 39; s package.json:
"react-text-marquee": "git://github.com/yourusername/react-text-marquee"
之后你运行npm install
,现在你必须维护你的库副本,以防作者做错误修正或类似的事情。您甚至可以更好地描述prop类型,并向原始存储库发出拉取请求。