bugfix> reactjs > 投稿

アプリにルートを追加しようとすると次のエラーが表示され、Imが間違っているのかわかりません。ドキュメントガイドに従ってください

Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

Check the render method of AppRoutes

import React from 'react';
import { ConnectedRouter } from 'react-router-redux';
import { Route, Switch } from 'react-router-dom';
import SignUp from '../../screens/SignUp';
import { history } from '../../../redux/store';
function AppRoutes() {
  return (
    <ConnectedRouter history={history}>
      <Switch>
        <Route path="/login" component={SignUp} />
        <Route exact path="/" component={SignUp} />
      </Switch>
    </ConnectedRouter>
  );
}
export default AppRoutes;

回答 2 件
  • 次のようにおそらくreact-router-reduxをインストールしたでしょう。

    npm install --save react-router-redux
    
    

    または

    yarn add react-router-redux
    
    

    これにより、4.xバージョンがインストールされるため、このエラーが発生します。ドキュメントを注意深く見ると、次のような指示が表示されます。

    npm install --save react-router-redux@next
    
    

    または

    yarn add react-router-redux@next
    
    

    5.xである「次の」バージョンをインストールすると、このエラーはなくなります。

  • ステップを正しい順序でインストールする必要があります。次のリンクをご覧ください:https://github.com/ReactTraining/react-router/issues/5428。 再現するステップ

    新しいアプリを作成する npm install -g create-react-app create-react-app react-router-params cd react-router-params /

    反応ルーターをインストールする React Reduxをインストールする npm install react-router-dom @ next

    ドキュメントから直接持ち上げた例で貼り付け

    それを実行します npm start

あなたの答え