我正在为 windows mobile 开发一个 react js 应用程序。我的路线配置如下
<Route path='/' component={App} >
<IndexRedirect to='/shows/1' />
<Route path='shows/:id' onEnter={bootStrap} component={ShowsPage} />
<Route path='settings' component={Settings} />
<Route path='devices' component={Devices} />
</Route>
我在第一条路线中有 3 个标签,其网址类似于
shows/1
shows/2
shows/3
我正在使用 react-router 和标签是标签
<li key={tab}>
<Link to={`/shows/${tab}`} className={classes.tabs} activeClassName={classes.active}>{tab}</Link>
</li>
我如何导航?
当我运行应用程序时,第一页将是shows/1
,如果我点击第二个选项卡,那么路线将是shows/2
。
浏览器中发生了什么?
当我在浏览器中运行应用程序时,我可以看到 show/1,如果我单击第二个选项卡,我可以看到 url 正在更改为shows/2
. 在这里,当我单击浏览器后退按钮时,它会导航到 show/1。当我从设置页面转到设置页面shows/2
并在设置页面中单击浏览器后退按钮时,我可以看到该shows/2
页面,这完全没问题。
设备中发生了什么?
当我在设备中运行应用程序时,我可以看到 show/1,如果我单击第二个选项卡,我可以看到第二个选项卡(shows/2)的内容。在这里,当我单击设备后退按钮时,应用程序正在退出。当我从设置页面转到设置页面shows/2
并在设置页面中单击设备后退按钮时,我可以看到该shows/2
页面,这完全没问题。
有什么问题? 我觉得,如果我从一个选项卡移动到另一个基本上是一个单一组件的选项卡,则设备导航不会保存。
我试过什么?
我试图Link
从选项卡中删除并添加一个点击事件,在点击处理程序中我使用下面的代码,但没有用。
this.props.router.push('/shows/' + showId)
应该是什么行为?
在设备中,如果我从 导航shows/1
到shows/2
,并且如果我从那里单击设备后退按钮,shows/2
那么我应该能够转到shows/1
而不是退出应用程序。
任何形式的帮助将非常感激。