Typescript React:如何声明特定元素的类型,它是Props



我想为特定的元素声明类型,比如<button><input>。但是,我不能检查类型为

的特定元素希烈,

interface Props{
component: React.ComponentProps<"button"> | never;
};
const TestComponent = (props: Props) =>{
const {component} = props;
return <div>{component}</div>
}
const OnlyButtonComponent = () => {
return(
<>
{/** This will be Okay. */}
<TestComponent component={<button>its button</button>} />
{/** This must occur error */}
<TestComponent component={<div>its not button</div>} />
</>
)
}

但是,TestComponent的渲染没有错误。

我如何用类型声明来保护这个?

试试这个

interface Props{
component: React.ReactNode
};

相关内容

最新更新