我正在使用preact 8.4.2,也有preact-compat。
我正在使用linkifyjs/react
呈现文本中的链接。这在开发中可以正常工作,但是当尝试使用此错误导入依赖于React的`linkifyjs / react'库时,我的测试失败了:
● Test suite failed to run
TypeError: Cannot redefine property: type
at Function.defineProperty (<anonymous>)
1 | import {h, Component, createRef} from 'preact';
> 2 | import Linkify from 'linkifyjs/react';
| ^
我真的不确定这个错误是什么意思,我很困惑,因为preact-compat应该允许使用带有React依赖的库。堆栈跟踪点指向preact-compat / src / index.js:60,它具有:
Object.defineProperty(VNode.prototype, 'type', {
get() {
return this.nodeName;
},
set(v) {
this.nodeName = v;
},
configurable: true
});
最佳答案
我遇到了同样的问题。对我造成问题的是preact-compat
和enzyme-adapter-preact-pure
都试图使Preact vNode看起来像React元素。
https://github.com/preactjs/enzyme-adapter-preact-pure/pull/62
对enzyme-adapter-preact-pure
的请求请求为我解决了这些问题。因此,使用酶适配器-纯-纯@ ^ 2.0.1时,一切都会正常进行。