История не сохраняется в одном компоненте с другими параметрами маршрута в React JS
Я работаю над приложением реагировать JS для Windows Mobile. Моя конфигурация маршрута как ниже
<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 вкладки в первом маршруте, чьи URL будут что-то вроде
shows/1
shows/2
shows/3
Я использую React-роутер и вкладки являются вкладками, такими как
<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
, Здесь, когда я нажимаю кнопку "Назад" браузера, происходит переход к шоу /1. И когда я иду на страницу настроек из shows/2
и нажмите на кнопку браузера назад, когда я нахожусь на странице настроек, я могу увидеть shows/2
страница, которая совершенно в порядке.
Что происходит в устройстве? Когда я запускаю приложение на устройстве, я вижу show /1, и если я нажимаю на вторую вкладку, я вижу содержимое второй вкладки (show /2). Здесь, когда я нажимаю кнопку возврата устройства, приложение закрывается. И когда я иду на страницу настроек из shows/2
и нажмите кнопку возврата устройства, когда я нахожусь на странице настроек, я могу увидеть shows/2
страница, которая совершенно в порядке.
В чем проблема? Я чувствую, что в устройстве навигация не сохраняется, если я перехожу с одной вкладки на другую, которая по сути является одним компонентом.
Что я пробовал? Я пытался удалить Link
с вкладки и добавил событие клика, а в обработчике клика я использую приведенный ниже код, но бесполезно.
this.props.router.push('/shows/' + showId)
Какое должно быть поведение? В устройстве, если я сошел с shows/1
в shows/2
и если я нажму на кнопку возврата устройства из shows/2
тогда я должен быть в состоянии пойти в shows/1
вместо выхода из приложения.
Буду благодарен за любую помощь.