Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 覆盖材质UI属性类型_Reactjs_Typescript_Material Ui - Fatal编程技术网

Reactjs 覆盖材质UI属性类型

Reactjs 覆盖材质UI属性类型,reactjs,typescript,material-ui,Reactjs,Typescript,Material Ui,我正在使用React、Typescript和materialui。我正在使用createMuiTheme.props全局禁用ListItem组件的ripple,如下所示: createMuiTheme({ props: { MuiListItem: { disableRipple: true, disableTouchRipple: true, disableFocusRibble: true } } }) 但Typescript抱怨

我正在使用React、Typescript和materialui。我正在使用
createMuiTheme.props
全局禁用
ListItem
组件的ripple,如下所示:

createMuiTheme({
  props: {
    MuiListItem: {
      disableRipple: true,
      disableTouchRipple: true,
      disableFocusRibble: true
    }
  }
})
但Typescript抱怨说:

属性“MuiListItem”的类型不兼容。 类型“{disableRipple:boolean;disableTouchRipple:boolean;disableFocusRibble:boolean;}”与类型“Partial”没有共同的属性。ts(2322)

因此,我在项目根目录中创建了一个
types.d.ts
文件,并添加了以下代码:

import { ListItemProps as PrevListItemProps } from "@material-ui/core/ListItem";
import { ButtonBaseProps } from "@material-ui/core/ButtonBase";

declare module "@material-ui/core/ListItem" {
  export type ListItemProps = PrevListItemProps & ButtonBaseProps;
}
它修复了以前的问题,但现在键入脚本错误,因为:

d.ts(50,13):“ListItemProps”也在这里声明

你知道怎么解决这个问题吗?或者禁用
ListItem
的ripple,而不将其每次传递给组件


谢谢

您可以全局禁用所有按钮的涟漪效应:

或者,您可以创建自己的组件:

import ListItem from '@material-ui/core/ListItem'

const CustomListItem = props => <ListItem {...props} button disableRipple disableTouchRipple />
从'@material ui/core/ListItem'导入ListItem'
const CustomListItem=props=>
import ListItem from '@material-ui/core/ListItem'

const CustomListItem = props => <ListItem {...props} button disableRipple disableTouchRipple />