反応ルーターでデフォルトルートを定義することはできますか?
P粉128563140
2023-08-27 17:06:31
<p>アプリのベース URL が <em>example.com/app</em></p> であるとします。
<p>すべてのルートを </p> として記述する代わりに、react-router で基本的なルーティングを設定することは可能ですか?
<pre class="brush:php;toolbar:false;">/app/a
/app/b
/app/c</pre>
<p></p> として指定できます。
<pre class="brush:php;toolbar:false;">a
b
c</pre>
<p>ドキュメントにある次の例を試しましたが、機能しませんでした (ページには何も表示されません)。おそらく、react-router@3.0.0-alpha.1 を使用しているか、何か間違ったことをしているためです。 </p>
<pre class="brush:php;toolbar:false;">import { useRouterHistory } from 'react-router'
import { createHistory } from 'history'
const History = useRouterHistory(createHistory)({
ベース名: '/app'
})
const ルート = ({ストア}) => (
<プロバイダストア={ストア}>
<ルーター履歴={history}>
<ルートパス='/'コンポーネント={アプリ}>
...
</ルート>
</ルーター>
</プロバイダー>
)</pre>
<p><br /></p>
を使用する場合は、履歴オブジェクトにアクセスできるようになり、history.push('/my-path') ## によってページを変更できるようになります。 # code> 直接 js からのメソッド。 BrowserRouter には使用可能な
historyプロパティがなく、Router には使用可能な
basenameがないという問題に直面することになります。
リーリー
https://reacttraining.com/react-router/web/api/BrowserRouter/basename-string
最新の react router (v4) を使用すると、これを簡単に行うことができます
リーリー