我有以下函式,當我將函式傳遞給另一個組件時,我需要定義型別,updateChannelInfo但我的型別顯示錯誤,
const updateChannelInfo = (event: React.FormEvent<HTMLFormElement>) => {
event.preventDefault();
updateTitle(channelTitle);
selectedGame && updateChannelGame(selectedGame);
};
我在 onSubmit 上收到錯誤
interface EditChannelInfo {
updateChannelInfo: React.FormEvent<HTMLFormElement>;
}
const EditChannelInfoCollapse = (props: EditChannelInfo): ReactElement => {
<form onSubmit={updateChannelInfo}>
...
</form>
}
錯誤:
(property) DOMAttributes<HTMLFormElement>.onSubmit?: React.FormEventHandler<HTMLFormElement> | undefined
Type 'FormEvent<HTMLFormElement>' is not assignable to type 'FormEventHandler<HTMLFormElement>'.
Type 'FormEvent<HTMLFormElement>' provides no match for the signature '(event: FormEvent<HTMLFormElement>): void'.ts(2322)
index.d.ts(1384, 9): The expected type comes from property 'onSubmit' which is declared here on type 'DetailedHTMLProps<FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>'
uj5u.com熱心網友回復:
這個
interface EditChannelInfo {
updateChannelInfo: React.FormEvent<HTMLFormElement>;
}
應該
interface EditChannelInfo {
updateChannelInfo: (event: React.FormEvent<HTMLFormElement>) => void;
}
uj5u.com熱心網友回復:
作為 Ioannis 現有答案的替代答案,您可以跳過必須宣告函式的形狀并選擇使用處理程式型別來代替:
interface EditChannelInfo {
updateChannelInfo: React.FormEventHandler<HTMLFormElement>;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/486255.html
上一篇:無法將“useSwr”鉤子的示例轉換為使用“react-query”的“useMutation”鉤子?
下一篇:函式沒有在打字稿中提取整個陣列值
