Est-il possible de définir une route par défaut dans React-Router ?
P粉128563140
2023-08-27 17:06:31
<p>Supposons que l'URL de base de mon application soit <em>example.com/app</em></p>
<p>Est-il possible de configurer des routes de base dans React-Router au lieu d'écrire toutes les routes sous la forme </p>
<pre class="brush:php;toolbar:false;">/app/a
/app/b
/app/c</pre>
<p>Je peux les spécifier comme</p>
<pre class="brush:php;toolbar:false;">a
b
c&Lt ;/pré> ;
<p>J'ai essayé l'exemple suivant trouvé dans la documentation mais cela ne fonctionne pas (la page n'affichera rien). C'est peut-être parce que j'utilise réagir-router@3.0.0-alpha.1 ou que je fais quelque chose de mal. </p>
<pre class="brush:php;toolbar:false;">importer { useRouterHistory } depuis 'react-router'
importer { createHistory } depuis 'historique'
const history = useRouterHistory(createHistory)({
nom de base : '/app'
})
const Racine = ({magasin}) =>
<Magasin du fournisseur={magasin}>
<Historique du routeur={historique}>
<Route path='/' composant={App}>
...
</Itinéraire>
</Routeur>
</Fournisseur>
)</pré>
<p><br /></p>
Si vous souhaitez utiliser
,它可以让您访问历史对象,允许您通过history.push('/my-path')更改页面
code>直接来自js的方法。您将面临这样的问题:BrowserRouter 没有可用的history
属性,并且 Router 没有可用的basename
.La solution est la suivante :
https://reacttraining.com/react-router/web/ api/BrowserRouter/basename-string
Avec le dernier react router (v4), vous pouvez le faire facilement