這必須是一個簡單的修復,但我找不到任何解釋你如何解決這個問題的東西。我正在使用 Next.js 和 Typescript 使組件顯示影像并使用掛鉤來修改所述影像。問題是,當我將字串傳遞給鍵入為字串的引數時,我收到此錯誤:Type '{ source: string; }' is not assignable to type 'string'.ts(2322)
鑒于此組件:
const ImageToggleOnMouseOver = (source: string) : JSX.Element => { ... }
當我嘗試使用它時,像這樣,我收到上述錯誤:
return (
<div>
<ImageToggleOnMouseOver source='/heads_up.jpg' />
</div>
);
當提供時source: any它可以正常作業,但字串不應該也可以作業,因為我畢竟希望傳遞一個字串?
uj5u.com熱心網友回復:
您需要更改組件中的宣告。它試圖將 props 物件分配給{ source: string }宣告為 的引數(source: string)。您需要將函式定義更改為:
const ImageToggleOnMouseOver = ({source}: {source: string}) : JSX.Element => { ... }
通過解壓props物件并檢索source道具,您可以在函式中指定所需的屬性,并且指定props.
uj5u.com熱心網友回復:
組件的正確型別應該是
const ImageToggleOnMouseOver = ({source} :{source: string}) : JSX.Element => { ... }
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/442549.html
標籤:javascript 反应 打字稿 下一个.js
