我正在使用 Typescript 和 Preact。我想创建一个组件来公开 <span/>
可以拥有的所有 Prop :
import { h, Component } from "preact";
export class MySpan extends Component<any, void> {
render(props) {
return <span {...props}></span>;
}
}
然而,上面的例子使用了
any
,这并不是真正的类型安全。相反,我想公开 span
的属性。 最佳答案
作为 react ,我会这样做:
export class MySpan extends React.Component<React.HTMLProps<HTMLDivElement>, void>
{
public render()
{
return <span {...this.props}/>;
}
}
我对
preact
没有真正的经验,但考虑到他们的 preact.d.ts ,它应该类似于:import { h, Component } from "preact";
export class MySpan extends Component<JSX.HTMLAttributes, void> {
render(props) {
return <span {...props}></span>;
}
}
请注意,这不是 span 元素的特定属性,而是通用属性。
关于reactjs - 如何创建具有 HTMLAttributes 作为 Prop 的组件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44583214/