簡體   English   中英

Jest 測試中的 Preact Compat 不兼容

[英]Preact Compat incompatibility in Jest tests

我正在使用 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-compatenzyme-adapter-preact-pure -preact enzyme-adapter-preact-pure都試圖使 Preact vNode 看起來像一個 React 元素。

https://github.com/preactjs/enzyme-adapter-preact-pure/pull/62

這個對enzyme-adapter-preact-pure拉取請求已經為我解決了這些問題。 因此,使用酶適配器-preact-pure@^2.0.1 一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM