2017-08-17 1364 views
2

我想創建一個簡單的React組件,它具有任何屬性。與any以下語法拒絕(只是<之前意外的標記)的工作:React組件中的TypeScript TS2339錯誤:屬性'xyz'在類型'IntrinsicAttributes ...'上不存在'

export class ValidatedInput extends React.Component<any, any> {...} 

錯誤更換any{}(可有人請解釋的差額)消失:

export class ValidatedInput extends React.Component<{}, {}> {...} 

然而,現在,當我在另一個文件中使用組件時,它會抱怨我發送到組件的屬性。例如:

<ValidatedInput 
    entity={book} 
/> 

這給了我一個錯誤:

TS2339: Property 'entity' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes' & Readonly<{ children?: ReactNode;...'

什麼是打字稿不高興?有人可以幫忙嗎?

在此先感謝!

+0

只是一個猜測 - 確保你在tsx文件中聲明你的compoent。 – Amid

+0

這是一個很棒的猜測@Amid!我從ES6移植代碼並忘記更改文件名。如果你能猜出答案,我會將其標記爲正確的答案。 – Naresh

回答

1

它看起來像編譯器不明白,你正在使用TSX語法。驗證您的文件是否具有'tsx'擴展名。

相關問題