Не удается получить доступ к BrowserHistory из реквизита компонента React - PullRequest
0 голосов
/ 24 июня 2019

Вот мое определение маршрутизатора:

export default class Routes extends Component {
  render() {
    return (
      <Switch>
        <Redirect exact from="/" to="/dashboard" />
        <Route component={Dashboard} exact path="/dashboard" />
        <Route component={Sites} exact path="/sites" />
        <Route component={RegisterSite} exact path="/register" />
      </Switch>
    )
  }
}

И создание основного компонента приложения:

export default class App extends Component {
  render() {
    return (
      <ThemeProvider theme={theme}>
        <Router history={browserHistory}>
          <Routes />
        </Router>
      </ThemeProvider>
    )
  }
}

После этой настройки я думал, что все компоненты, зарегистрированные в компоненте Route, должнысделайте так, чтобы browserHistory внедрялся в их реквизиты, но только компонент Dashboard имеет историю, внедренную в свои реквизиты.Например, когда я пытаюсь получить доступ к истории внутри компонента Сайты, я получаю неопределенное значение.

Это ожидаемое или я что-то не так делаю?

1 Ответ

0 голосов
/ 24 июня 2019

Использование BrowserRouter

Из документов

A <Router>, который использует API истории HTML5 (pushState, replaceState и событие popstate)) чтобы синхронизировать пользовательский интерфейс с URL-адресом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...