reactjs - 按钮上不存在属性“类型”
问题描述
我有这个按钮组件:
export interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
small?: boolean;
}
class Button extends React.Component<ButtonProps> { ... }
但是当我尝试这样做时:
<Button type="submit"></Button>
我收到此错误:
类型“IntrinsicAttributes & IntrinsicClassAttributes & Readonly & Readonly<{ children?: ReactNode; 上不存在属性“类型” }>'
为什么?不是type
属性的一部分React.HTMLAttributes<HTMLButtonElement>
吗?设置此属性的正确/推荐方法是什么?
解决方案
export interface ButtonProps
extends React.DetailedHTMLProps<
React.ButtonHTMLAttributes<HTMLButtonElement>,
HTMLButtonElement
> {
small?: boolean
}
class ButtonZ extends React.Component<ButtonProps> {
render() {
return <></>
}
}
如果您使用 VSCode 作为 IDE,将鼠标悬停在 HTML 组件上并检查工具提示是查看类型和道具的好方法。
推荐阅读
- php - php shell_exec 没有运行
- node.js - 我想在 mongodb 中增加许多文档
- sql-server - 在存储过程中解释这个 DB 语法 'SUM(CAST(AVG_CLAIM_PAID AS NUMERIC(18,2))) AVG_CLAIM_PAID'
- php - 在多维数组中搜索列值
- r - 不均匀数量的标记和下标越界错误
- delphi - 使用 NetHTTPClient 下载 XML 失败
- c# - 尝试删除 NLog.config 会导致“无法修改源自导入文件的评估对象”
- cassandra - Cassandra 压缩宽行大分区
- php - PHP、PDO、SQLite INNER JOIN 语句和变量
- php - 计数 JSON 结果中的项目