javascript - 用连字符命名反应组件道具
问题描述
我有一个组件按钮与下面的界面反应
interface ButtonI extends React.HTMLAttributes<HTMLButtonElement> {
background?: string;
border?: string;
children?: React.ReactElement;
className?: string;
color?: string;
disabled?: boolean;
onClick?: (evt: any) => void;
size?: 'small' | 'medium' | 'large' ;
}
我想data-test
作为道具传递,但是如果我data-test
在接口中定义为,我会从打字稿中得到错误
data-test?:string;
有人可以告诉我如何通过道具与名称中的连字符做出反应吗?
解决方案
我找到了如下解决方案:
在界面中我使用了单引号
'data-test'?: string;
在解构时我将其别名为
const {
background,
border,
children,
className,
color,
disabled,
onClick,
size,
'data-test':dataTest
} = props;
推荐阅读
- google-sheets - 比较数字时,Google 表格中的查询函数没有结果,但数据集中存在数据
- database-design - 筹款数据库设计支付系统如何运作?
- reactjs - 如何更新 Redux 工具包中的嵌套对象?
- r - 通过包+函数名引用 R 包中的函数
- c# - 从 ASP.NET Core 中的迭代器方法返回 IEnumerable 有什么意义吗?
- css - 如何将 CSS 从 Figma 转换为 Flutter?
- android - 在android中,我们可以使用条件来确保开发人员总是编写单元测试吗?
- reactjs - 仅当从数据库加载图像时才显示图像
- angularjs - Angular-CLI:更改惰性块位置
- javascript - 试图制作一个简单的加法器和减法器