объект истории с центральным файлом маршрутов - PullRequest
0 голосов
/ 13 ноября 2018

Я видел много примеров в сети о том, как использовать объект истории с React Router. Однако я не наткнулся на случай, когда в примере показан центральный файл маршрутов, как показано ниже:

routes.js

const RouteList = () => (
  <main>
    <Switch>
      <Route path="/" exact component={HomePage} />
      <Route component={Error} />
    </Switch>
  </main>
);

export default RouteList;

App.js

render() {
    return (
        <div>
           <Header />
           <RouteList />
           <Footer />
        </div>
    );
}

history.js

import { createBrowserHistory } from 'history';

export default createBrowserHistory();

Может кто-нибудь пролить свет на то, как я могу использовать историю с моими централизованными маршрутами? Или, если есть другая подобная тема, пожалуйста, дайте мне знать большое спасибо.

1 Ответ

0 голосов
/ 13 ноября 2018

Пользовательский объект истории должен быть предоставлен как опора для компонента Router Provider.В вашем случае вы можете указать поставщика маршрутизатора в App.js или RouteList в зависимости от того, нужны ли Header и Footer реквизиты маршрутизатора или нет.

import browserHistory from './history.js';

...
render() {
    return (
      <Router history={browserHistory}>
        <div>
           <Header />
           <RouteList />
           <Footer />
        </div>
      </Router>
    );
}

Также в вашем файле history.jsимпорт createBrowserHistory как

import createBrowserHistory from 'history/createBrowserHistory';
...