我已经分配了类型React。FC到我的组件,但我仍然不能访问子道具。我得到这个错误"属性'children'不存在类型'ButtonProps'"我不能访问儿童道具还有其他原因吗?
import React from 'react'
export interface ButtonProps{
label:string;
}
const Button:React.FC<ButtonProps> = (props) => {
const {children} = props
return <div>{children}</div>
}
export default Button
不鼓励使用React.FC
,因此现在您应该定义组件的类型,并明确其children
prop,如下所示:
export interface ButtonProps{
label:string;
children: React.ReactNode
}
const Button = (props: ButtonProps) => {
const {children} = props
return <div>{children}</div>
}
跑题:不要给组件传递你的组件不会使用的东西,试着解构组件头部的props。因此,组件将只得到它需要的东西,并且你将确切地知道你要传递给组件的是什么,如果需要的话,它们的props和默认值是什么。