обновление материала ui 1.xx до 3.xx вызывает несоответствие машинописи в withRouter - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь обновить версию пользовательского интерфейса для материалов до 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);
...