Как использовать google analytics в настройке reactrouter v4 switch

Я пытаюсь реализовать 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-адреса страница требует обновления.

0
0
65
1

Ответы 1

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

Попробуй это: Добавьте отдельный маршрут ошибки 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>

Думаю, вы неправильно поняли вопрос, тег истории не работает с <Switch>

Oli C 01.11.2018 03:18

Другие вопросы по теме