Reactjs 覆盖材质UI属性类型
我正在使用React、Typescript和materialui。我正在使用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抱怨
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 />