Bonjour,
Utilisant la version 6 de react-router-dom, j'ai pris en compte les modifications de code pour 'Contact.js' et 'App.js' dans l'onget Q&R de Belivemy.
Mon site fonctionne bien, néanmoins je rencontre des problèmes pour maintenir l'onglet de navigation 'Contact'. Lorsque je clique sur le sous-composant 'Téléphone' ou 'Email' depuis 'Contact', l'onglet de navigation 'Contact' n'apparait plus surligné.
Comment est-il possible de résoudre cela svp ?
Merci par avance,
Hello Antoine
Pour ton problème, c'est surtout un problème au niveau de ton code JavaScript pour moi, et pas forcément de version.
Est-ce que le chemin change quand tu cliques sur "Téléphone" ou "Email" ? Pour moi, oui : c'est pour ça que "Contact" n'est plus surligner.
Bonjour Louis-Nicolas (et par ailleurs merci pour ta formation galvanisante, alors que je débute complètement en React).
Voici le code 'App.js'
'Navigation.js'
'NavigationItem.js'
et de 'Contact.js'
// Librairies
Ou peut se trouver l'erreur svp ? Merci par avance !
Tu n'as pas vraiment le même code que moi. J'imbrique mes routes dans le composant Contact, pas dans le composant Route sur le routeur de Contact.
<Route exact path="/" component={Home} />
<Route path="/contact" component={Contact} />
<Route exact path="/articles" component={Articles} />
<Route exact path="/articles/:id" component={Article} />
<Route render={() => <h1>404</h1>} />
Ok ! Quelles seraient les meilleures suggestions pour modifier mon code et permettre de faire apparaitre le surlignage de 'Contact' en cliquant sur 'Téléphon' ou 'Email' stp ?
Le problème ici c'est que tes routes s'effacent entre-elles, tu perds donc la détection et le surlignage de ta page. Il y a plusieurs solutions, la plus simple étant d'extraire tes routes comme ce que je montre : sur le composant Contact.
Sinon, tu peux aussi détecter directement sur la navigation la page qui est actuellement affichée, et ainsi dire que "si la page commence par "/contact" on surligne.