Réagir Routeur - Tapuscrit erreurs sur withRouter après la mise à jour de la version

J'ai juste essayé de mettre à jour mon Réagir application de

réagir-routeur - 4.0.19 à 4.0.20

réagir - 16.0.30 à 16.0.34

tapuscrit - "version 2.7.0-initiés.20180108"

Dans mon application, partout où je suis à l'aide de 'withRouter', j'obtiens maintenant cryptique Tapuscrit erreurs. J'ai même remplacé interface tous les accessoires avec "tout" simplement pour essayer de le faire fonctionner.

import * as React from 'react';
import { Switch, Route, withRouter} from 'react-router-dom';
import { Login } from './Login';
import { connect } from 'react-redux';
import { RootAction, RootState } from './_redux';

class MainForm extends React.Component<any> {

  constructor(props: any) {
    super(props);
  }

  render() {

    return (
      <Switch>
        <Route exact={true} path="/" component={Login}/>
        <Route  path="/accounts" component={AccountsView}/>
      </Switch> 
    );
  }
}

const mapStateToProps = (state: RootState) => ({
  state
});

export const Main = withRouter(connect(mapStateToProps)(MainForm);

erreur TS2345: Argument de type 'ComponentClass> & {
WrappedComponent: ComponentType; }' n'est pas assignable à
paramètre de type 'ComponentType>'. Type
'ComponentClass> & { WrappedComponent:
ComponentType; }' n'est pas assignable à type de
'StatelessComponent>'.
Type 'ComponentClass> & { WrappedComponent: ComponentType; }' offre pas de match pour la signature '(objets de décoration:
RouteComponentProps & { enfants?: ReactNode; }, contexte?: tout):
ReactElement | null".

Si je convertir la dernière ligne :

export const Main = connect(mapStateToProps)(MainForm);

Je n'ai pas d'erreurs. sérieusement frustrés ici.
Grâce

MODIFIER, j'ai changé pour

export const Main = connect(mapStateToProps)(withRouter(MainForm));

comme suggéré par Mayank Shukla. mais maintenant, obtenez l'erreur:

erreur TS2345: Argument de type 'ComponentClass>' est
pas assignable à paramètre de type 'ComponentType<{ etat: RootState;
} & DispatchProp>'. Type 'ComponentClass>' est
pas cessible de type 'StatelessComponent<{ etat: RootState; } &
DispatchProp>'.
Type 'ComponentClass>' offre pas de match pour la signature '(objets de décoration: { etat: RootState; } & DispatchProp & {
les enfants?: ReactNode; }, contexte?: échéant): ReactElement | null".

essayez ceci: connect(mapStateToProps)(withRouter(MainForm))
merci @MayankShukla. je pense que c'est le progrès, mais maintenant je reçois l'erreur , comme expliqué ci-dessus.
Je suppose que votre syntaxe est incorrecte, withRouter(connect(mapStateToProps)(MainForm)), vous avez besoin d'un supplément d'une parenthèse fermante à la fin
je le fixe, mais toujours la même erreur 🙁

OriginalL'auteur 29er | 2018-01-12