Puis-je définir une gamme de base de réagir-routeur
En supposant que mon application de l'url de base est example.com/app
Est-il possible de définir une route à réagir-routeur, donc au lieu d'écrire toutes les routes que
/app/a
/app/b
/app/c
Je peux juste préciser que
a
b
c
J'ai essayé l'exemple ci-dessous j'ai trouvé dans le docs mais il ne fonctionne pas (page affiche rien). C'est peut-être parce que je suis en utilisant [email protected] ou je fais quelque chose de mal.
import { useRouterHistory } from 'react-router'
import { createHistory } from 'history'
const history = useRouterHistory(createHistory)({
basename: '/app'
})
const Root = ({store}) => (
<Provider store={store}>
<Router history={history}>
<Route path='/' component={App}>
...
</Route>
</Router>
</Provider>
)
- Avez-vous résolu le problème? Merci de poster une réponse si la réponse est oui.
- nope. J'ai abandonné et commencé à taper des routes, et, en fait, trouvé à être plus propre.
- Vraiment? Il n'y a pas de solution facile pour cela? J'ai cherché et essayé quelques idées sans un peu de chance (mais je suis un newbie).
Vous devez vous connecter pour publier un commentaire.
Avec le nouveau réagir routeur (v4) vous pouvez facilement le faire
/calendar/:year/:month/:day/event
où il pourrait être, par exemple,/calendar/11/4/21/event
:year/:month/:day/event
partie dans le Lien de=?Si vous souhaitez utiliser
<Router />
, qui vous donnent accès à l'histoire de l'objet, vous permettant de modifier la page par le biais dehistory.push('/my-path')
méthode directement à partir de js. Vous serez face à la question que BrowserRouter n'a pashistory
prop disponibles, et le Routeur n'a pasbasename
disponibles.La solution est la suivante:
https://reacttraining.com/react-router/web/api/BrowserRouter/basename-string