javascript - 使用连字符命名 React 组件 props

标签 javascript reactjs

我有一个组件按钮与下面的界面发生 react

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 作为 prop 传递,但是如果我在接口(interface)中将 data-test 定义为

,我会从 typescript 中收到错误
data-test?:string;

有人可以告诉我如何通过名称中的连字符来传递 props 吗?

最佳答案

我找到了如下解决方案:
在界面中我使用了单引号

'data-test'?: string;

在解构时我将其别名为

const {
      background,
      border,
      children,
      className,
      color,
      disabled,
      onClick,
      size,
      'data-test':dataTest
    } = props;

关于javascript - 使用连字符命名 React 组件 props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65991372/

相关文章:

javascript - HighStock 图表中纪元日期时间未正确显示

javascript - Ember排序有很多关系

javascript - 简单的抽搐状态

javascript - Javascript 遍历数组对象

reactjs - 使用 TypeScript 在 create-react-app 中创建故事书

reactjs - React Redux 状态在页面刷新时丢失

XSL 文件的 javascript XML 处理不起作用

javascript - AngularJS:带有动态数据的 ng-repeat

javascript - ReactJS:如何在 <div> 中居中对齐 Material-UI 的 <Table>?

reactjs - 如何删除箭头文本字段编号?