Как использовать Google Analytics в настройках ReactRouter V4 Switch - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь внедрить Google Analytics в свое одностраничное приложение React, но для этого я понимаю, что мне нужно использовать опору history. Я использую настройку Switch, и это не будет работать.

<Switch history={history}>
    <Route exact path="/" component={place}/>
    <Route path="/about" component={otherplace}/>
    <Route component={error}/>
</Switch>

Если я изменяю <Switch> на <Router>, аналитика работает, но страница ошибки отображается на каждой странице, и при изменении пути URL страница требует обновления.

1 Ответ

0 голосов
/ 31 октября 2018

Проблема в том, что компонент ошибки присутствует на всех маршрутах.

Попробуйте это: Добавьте отчет об ошибке 404:

<Route path='/404' component={error} />

Направить все несопоставленные маршруты к нему:

<Redirect from='*' to='/404' />

Это должно показать компонент ошибки только на страницах, которые не существуют.

Вот переключатель, который делает это:

<Switch history={history}>
    <Route exact path="/" component={place}/>
    <Route path="/about" component={otherplace}/>
    <Route path='/404' component={error} />
    <Redirect from='*' to='/404' />
</Switch>
...