Ошибка при компоновке функций в приставке после обновления до последней версии реаги и пользовательского интерфейса материала - PullRequest
0 голосов
/ 16 октября 2018

Мое приложение работало хорошо, пока я не обновил свои материалы пользовательского интерфейса и реагирует пакетов, и внезапно я начал получать следующую ошибку

 src/App.tsx 
 (156,45): Type '{}' does not satisfy the constraint ComponentType<never>.
 Type '{}' is not assignable to type StatelessComponent<never>.

Строка 156Мой App.tsx, как я показываю ниже:

export default (withRoot(withStyles(styles)<{}>(connect(mapStateToProps)(withWidth()(App)))));

Это версия установленных мной пакетов:

"@material-ui/core": "^3.2.1",
"@material-ui/icons": "^3.0.1",
"react": "16.5.2", 
"react-dom": "16.5.2",

Я думаю, что проблема с моим пользовательским withRootфункции, или также withStyle, но я не знаю, какой тип ожидает сейчас и почему не выдает ошибку до обновления библиотек.Я уже удалил папку node_modules и переустановил все пакеты, чтобы проверить, возможно, я что-то пропустил с обновлением

. Вот как я определяю свои типы Props и State:

const styles = (theme: Theme) => createStyles({...});
export namespace App {
    export interface Props extends RouteComponentProps<void>, WithStyles<typeof styles>, WithWidth {
        layout: Layout;
        history: any;
    }

    export interface State {
        mobileOpen: boolean;
    }
}

class App extends React.Component<App.Props, App.State> {
...
}

Это withRoot функция:

function withRoot(Component: React.ComponentType) {
  function WithRoot() {
    // MuiThemeProvider makes the theme available down the React tree
    // thanks to React context.
    return (
      <MuiThemeProvider theme={theme}>
        {/* Reboot kickstart an elegant, consistent, and simple baseline to build upon. */}
        <CssBaseline />
        <Component {...props} />
      </MuiThemeProvider>
    );
  }

  return WithRoot;
}

Может быть, это может помочь воспроизвести проблему, я начал свой проект, используя большинство идей этого GitHub проекта.

...