我是 typescript 的新手,我想把我的函式 onDogSelected 傳遞給子組件 <Dogs />
但是我得到了一些錯誤資訊,比如說
Type '{ onDogSelected: (e: any) => void; }'不能分配給型別'IntrinsicAttributes & { children? ReactNode; }'.屬性'onDogSelected'不存在于型別'IntrinsicAttributes & { children? ReactNode; }'.
我不知道是什么意思,我試著去弄清楚,但還是沒有辦法。非常感謝您的幫助。
const HomePage: React.FC = () => {
const [dogSelected, setDogSelected] = useState(""/span>)。
const onDogSelected = (e: any) => {
setDogSelected(e.target.value)
}
return (
<ApolloProvider client={client2}> /span>
<Dogs onDogSelected={onDogSelected} />
{dogSelected && <span>{dogSelected}</span>}{dogSelected}</span>}。
</ApolloProvider>>
);
};
export default HomePage;
uj5u.com熱心網友回復:
React.FC已被廢棄,你應該使用React.FunctionComponent。
React.FunctionComponent是一個通用型別。如果你還在期待的話,你應該把你的組件的props傳給它。
因此,Dogs組件應該看起來像,
import { FunctionComponent } from "react"。
const Dogs: FunctionComponent<DogsProps> = (props) => /span> {
...
};
介面 DogsProps {
onDogSelected(e: any)。void;
你不需要創建一個介面或型別,你可以直接把它作為一個引數來傳遞
const Dogs。FunctionComponent<{ onDogSelected(e: any)。void; }> = (props) => {
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/332282.html
標籤:
上一篇:從用戶那里獲取字串作為輸入
