Dynamique de la chapelure à l'aide de réagir routeur
Il est un très bon exemple de comment faire un de la chapelure sur le site dans le dossier exemples de réagir-routeur repo. Mais je me demandais comment faire de la chapelure avec des routes dynamiques.
Supposons que nous disposons de cette configuration:
ReactDOM.render((
<Router history={browserHistory}>
<Route path="/projects" component={ProjectsApp}>
<IndexRoute component={ProjectsDashboard} />
<Route path=":projectId" component={ProjectBoard}>
<Route path=":taskId" component={ProjectTaskBoard}>
</Route>
</Route>
</Router>
), document.getElementById('app'));
Je veux faire quelque chose comme ceci:
Projets(lien vers "/projets') -> MyAwesomeProject (lien vers "/projets/11'. Titre prises à partir de quelque part (à partir de la banque par l'id de routeParams ou par un autre moyen)) -> MyTask (lien vers "/projets/11/999')
Comment puis-je arriver à ce résultat? Existe-il des pratiques exemplaires? Merci.
- Je sais que c'est une vieille question, mais il est une composante de réagir-routeur à l'appui de cela, prendre un coup d'oeil: github.com/svenanders/react-breadcrumbs j'espère que ça aide
- Avez-vous trouvé une solution pour cela?
Vous devez vous connecter pour publier un commentaire.
Nous utiliser le package réagir-de la chapelure-dynamique qui est le plus
flexible pour n'importe quel routeur (inclus réagir-routeur v4).
Les pensions de titres sont ici: réagir-de la chapelure-dynamique
Comme mentionné par @tbo y commenter, réagir-de la chapelure était un ok de solution pour la mise en œuvre de ce avec la version 3 de réagir-routeur. Il y avait même quelques solutions de contournement pour la dynamique de la chapelure que vous décrivez (en utilisant par exemple l'
prepend
ougetDisplayName
accessoires).Il y a une conversation en cours dans ce numéro afin de déterminer la meilleure façon de soutenir réagir-routeur v4 qui certainement des liens dans votre question. J'ai creusé à travers un tas d'autres chapelure composant référentiels qui semblent tous de la lutte à partir avec la même route statique problèmes, certains ayant même des questions ouvertes pour comprendre v4.
TLDR; Si vous êtes encore à réagir-routeur v3, vous pouvez probablement le faire réagir la-de la chapelure paquet de travail pour la dynamique de la chapelure. Si vous avez migré vers v4, restez à l'écoute et j'espère avoir une meilleure réponse bientôt.
Mise à jour:
Après ne pas trouver d'autres solutions qui répondent à mes besoins, j'ai développé une solution et a ouvert un pull request sur la réaction de la chapelure référentiel. Auto-fil d'ariane, comme mentionné ci-dessous, et cette discussion sont aussi des solutions possibles mais de permettre de moins de personnalisation. Si vous avez besoin de plus d'options de personnalisation, de s'abonner et de se sentir libre de commenter ou de l'aide avec le pr.
Auto-Fil D'Ariane semble être la meilleure option si vous êtes sur la version 4 de Réagir Routeur. Je n'ai pas encore trouver un bon tutoriel, mais il n'est pas commenté, mais assez simple démo disponibles.
Il y a plusieurs façons de le faire, et plusieurs solutions open-source (voir les réponses ici: Comment puis-je créer réagir-routeur v4 chapelure?)
Personnellement, je préfère un HOC solution en raison de la faible superficie, le rendu de la flexibilité, et lisible sur le fil d'ariane de l'itinéraire config.
Breadcrumbs.jsx
withBreadcrumbs.js
Open-source HOC est également disponible ici:
https://github.com/icd2k3/react-router-breadcrumbs-hoc