我正在尝试在我的React单页应用程序中实现Google Analytics(分析),但为此,我了解到我需要使用history
道具。我正在使用Switch设置,但这似乎无法正常工作。
<Switch history={history}>
<Route exact path="/" component={place}/>
<Route path="/about" component={otherplace}/>
<Route component={error}/>
</Switch>
如果我将<Switch>
更改为<Router>
,则分析工作会发生,但是错误页面会在每个页面上呈现,并且当URL路径更改时,页面需要刷新。
答案 0 :(得分: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>