Windows モバイル用の反応 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 つのタブがあり、その URL は次のようになります
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
れ、2 番目のタブをタップするとルートが表示されますshows/2
。
ブラウザで何が起こっていますか?
ブラウザでアプリケーションを実行すると、shows/1 が表示され、2 番目のタブをクリックすると、URL が に変更されていることがわかりますshows/2
。ここでブラウザの戻るボタンをクリックすると、shows/1 に移動します。から設定ページに移動し、設定ページにshows/2
いるときにブラウザの戻るボタンをクリックすると、shows/2
ページが表示されますが、まったく問題ありません。
デバイスで何が起こっていますか?
デバイスでアプリケーションを実行すると、shows/1 が表示され、2 番目のタブをクリックすると 2 番目のタブ (shows/2) のコンテンツが表示されます。ここで、デバイスの戻るボタンをクリックすると、アプリが終了します。から設定ページに移動し、設定ページにshows/2
いるときにデバイスの戻るボタンをクリックすると、shows/2
ページが表示されますが、まったく問題ありません。
問題は何ですか? 基本的に1つのコンポーネントであるタブから別のタブに移動すると、デバイスのナビゲーションが保存されないと思います。
私が試したことは何ですか?
タブからを削除しようとしLink
、クリック イベントを追加しました。クリック ハンドラで以下のコードを使用していますが、役に立ちません。
this.props.router.push('/shows/' + showId)
振る舞いはどうあるべきですか?
デバイスで から に移動しshows/1
、shows/2
からデバイスの戻るボタンをクリックすると、アプリを終了する代わりにshows/2
に移動できるはずです。shows/1
どんな種類の助けも本当に感謝しています。