Я пытаюсь обновить версию пользовательского интерфейса для материалов до 3.xx и получаю следующее несоответствие типов при использовании функции withRouter.точно такой же код работал с любой версией 1.xx.
TS2345: Аргумент типа «ComponentType & StyledComponentProps>» нельзя назначить параметру типа «ComponentType>».Тип «ComponentClass & StyledComponentProps, ComponentState>» нельзя назначить типу «ComponentType>».Тип «ComponentClass & StyledComponentProps, ComponentState>» нельзя назначить типу «StatelessComponent>».Типы свойств propTypes несовместимы.Тип «ValidationMap & StyledComponentProps>» не имеет общих свойств с типом «ValidationMap>».
code:
import React from "react";
import { connect } from "react-redux";
import { Redirect, RouteComponentProps, withRouter } from "react-router";
import {createStyles, StyleRulesCallback, WithStyles} from "@material-ui/core/styles";
import {withStyles} from "@material-ui/core/styles/withStyles";
interface AppDataLoaderProps extends RouteComponentProps<{}> {...}
class AppDataLoader extends React.Component<AppDataLoaderProps & WithStyles, {}> {
...
}
const styles: StyleRulesCallback = () => createStyles({...})
const mapStateToProps = (state: AppState, ownProps) => {...}
const mapDispatchToProps = (dispatch, ownProps) => {...}
const componentWithStyles = withStyles(styles)(AppDataLoader);
const componentWithRouter = withRouter(componentWithStyles);
export default connect(mapStateToProps, mapDispatchToProps(componentWithRouter);