ナビゲーションを管理するためにreact-router-domLinkコンポーネントを使用していますが、機能しません。リンクはURLを変更しますが、コンポーネントをレンダリングしません。これが私の問題を説明する簡単なアプリです。マイアプリヘッダーをホームリンクとして使用しようとしています:

    import { connect } from 'react-redux';
import { Link } from 'react-router-dom';
import React from 'react';

const Navigation = () => {
  return (
    <div>
      <Link to="/events">
        <h1>My Application</h1>
      </Link>
    </div>
  );
};
const ConnectedNavigation = connect((state) => state)(Navigation);

export default ConnectedNavigation;

App.jsxコード:

import React from 'react';
import { Provider } from 'react-redux';
import { store } from '../store/index';
import ConnectedDashboard from './Dashboard';
import ConnectedEventDetails from './EventDetails';
import { Router, Route } from 'react-router-dom';
import { history } from '../store/history';
import ConnectedNavigation from './Navigation';

export const Main = () => (
  <Router history={history}>
    <Provider store={store}>
      <div>
        <ConnectedNavigation />
        <Route exact path="/events" render={() => <ConnectedDashboard />} />
        <Route
          exact
          path="/event/:id"
          //match prop is necessary in order to determine which event
          //we are looking for
          render={({ match }) => <ConnectedEventDetails match={match} />}
        />
      </div>
    </Provider>
  </Router>
);

ご覧のとおり、混乱を避けるためにルートに正確に追加しました

応答

この問題は次の行から発生します。

import { Router, Route } from 'react-router-dom';

正しいインポートは次のとおりです。

import { BrowserRouter as Router, Route } from 'react-router-dom';