我試圖從名爲Voyager
的項目中導入名爲Vega-Lite
的React類。JSX元素類型'xxx'不是JSX元素的構造函數。屬性'yyy'在類型'xxx'中受到保護,但類型爲'ElementClass'的公共類型爲
這裏是我的代碼:
import * as React from 'react';
import {VegaLite} from 'datavoyager/build/components/vega-lite';
export interface Props {
spec: any;
logger: any;
}
export const View = ({spec, logger}: Props) => {
return(
<VegaLite spec={spec} logger={logger}/>
);
};
這裏是我的錯誤:
[ts] JSX element type 'VegaLite' is not a constructor function for JSX elements. Property 'componentDidMount' is protected in type 'VegaLite' but public in type 'ElementClass'.
我知道,在課堂上Vega-Lite
,功能componentDidMount()
確實protected
。但是,我該如何解決這個錯誤?
PS:我已經嘗試在我的tsconfig.json
中設置allowSyntheticDefaultImports
到true
,但同樣的錯誤依然存在。
你在'tsconfig.json'中有''allowSyntheticDefaultImports':true'嗎? – Andrew
@Andrew是的我試過了,但是這並沒有消除錯誤... – CherryQu