【问题标题】:property button basic does not exist on type 'string | number'类型'string |上不存在属性按钮基本数字'
【发布时间】:2021-11-17 04:15:19
【问题描述】:

react typescript 的新功能,我正在将我的代码转换为 typescript,其他“props”可以工作,但其中一个会出现此错误:“string | 类型”上不存在属性“button_basic”数字'。 类型'string'.ts(2339)上不存在属性'button_basic'

我以同样的方式使用其他道具,并没有从中得到错误,但为什么在这里?我做错了什么?

interface ConnectedBrokerFormProps {
  onSubmit: string;
  key: string;
  readOnly: boolean;
  mode: string;
  classes: string | number;
}

const BrokerForm: React.FC<ConnectedBrokerFormProps> = (props) => {

  <Button
            type="submit"
            variant="contained"
            color="primary"
            disabled={
              !currentSite ||
              Object.values(state.error).some((v) => {
                return v === true;
              })
            }
            className={props.classes.button_basic}
            startIcon={<Done />}
          >
            <Trans i18nKey="form.save">Save</Trans>
          </Button>
          
          };

这些类来自像这样的其他组件的道具:

  const useStyles = makeStyles((theme) => ({
 button_basic: {
      padding: theme.spacing(1),
      textAlign: "center",
      color: theme.palette.text.primary,
    },
  }));
  const classes = useStyles();

【问题讨论】:

    标签: css reactjs typescript function react-hooks


    【解决方案1】:

    根据您的示例,classes 应该是具有button_basic 属性的对象。

    另外,我想button_basic 应该是string 类型,因为根据我的理解makeStyles 会生成className

    interface ConnectedBrokerFormProps {
      onSubmit: string;
      key: string;
      readOnly: boolean;
      mode: string;
      classes: {
        button_basic: string,
      };
    }
    

    【讨论】:

    猜你喜欢
    • 2020-08-06
    • 2013-02-11
    • 2018-05-28
    • 2018-10-31
    • 2021-05-31
    • 2017-08-21
    • 2018-12-28
    • 2021-09-26
    • 2023-01-19
    相关资源
    最近更新 更多