Hyn*_*ekS 6 html typescript reactjs react-props
我正在寻找最“规范”和/或“最新”的方法来将一组默认 HTML 属性作为一组允许的 TypeScript 属性添加到自定义的“增强”HTML 组件中,比如说一个Button.
我发现了两个类型定义。第一个是React.HTMLProps<T>,第二个JSX.IntrinsicElements["T"]。
所以我可以Button通过这种方式增强我的能力:
type Props = {
children: React.ReactNode
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void
type?: "button" | "submit" | "reset"
className?: string
} & React.HTMLProps<HTMLButtonElement>
Run Code Online (Sandbox Code Playgroud)
或者像这样:
type Props = {
children: React.ReactNode
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void
type?: "button" | "submit" | "reset"
className?: string
} & JSX.IntrinsicElements["button"]
Run Code Online (Sandbox Code Playgroud)
我已经尝试了两种方法,它们似乎都工作得很好(没有弯曲的红线)。
问题是:这些类型定义之间是否存在显着差异?我应该使用React.HTMLProps<T>, JSX.IntrinsicElements["T"],还是这只是个人喜好问题?
谢谢。
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |