相关疑难解决方法(0)

如何使用 Typescript 扩展 Material-UI 组件的道具?

我想使用打字稿从 Material-UI 扩展 Button 组件的道具,以便能够将其他道具传递给它的孩子。

import { NavLink } from 'react-router-dom';
import { Button } from 'material-ui';

<Button
  component={NavLink}

  // NavLink props that needs to be added to typescript declarations
  activeClassName={classes.activeButton}
  exact={true}
  to={to}
>
  {title}
</Button>
Run Code Online (Sandbox Code Playgroud)

我尝试在 ./app/types/material_ui.d.ts 中添加以下声明:

declare module 'material-ui' {
  interface Button {
    activeClassName?: any;
    exact?: boolean;
    to?: string;
  }
}
Run Code Online (Sandbox Code Playgroud)

这会引发错误“TS2693:'Button' 仅指一种类型,但在此处用作值。”。

我也试过声明:

import * as React from 'react';

import { PropTypes, StyledComponent } from 'material-ui';
import { ButtonBaseProps } from 'material-ui/ButtonBase';

declare module 'material-ui' { …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs material-ui

14
推荐指数
4
解决办法
8812
查看次数

标签 统计

material-ui ×1

reactjs ×1

typescript ×1