Bonjour,
Je vais encore avoir besoin de conseils.
Voilà, j'utilise React et Leaflet pour gérer une carte. Sur celle-ci, un bouton permet de la fermer.
Voilà sur quoi je pars :
Mon composant parent comprend ce ce code :
où Info.show est un Hook qui vaut true ou false.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 {Info.show && <Map setInfo={setInfo} Info={Info} /> }
Dans le composant de ma carte, je charge ma carte comme ça :
Pour mon bouton, je modifie mon Info.show et le passe a "false".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 useEffect(() => { const map_instance = display_map(); // clean up return () => { if (map_instance._loaded) { map_instance.remove(); } }; }); return ( <div id="map_container" ref={map_container_ref} className='Map'></div> );
Mon soucis, est que la carte disparaît bien, mais quand je veut a nouveau la faire réapparaître, le container s'affiche vide, le chargement de la carte ne se fait pas.
A noter que j'ai essayé de mettre un [props.Info.show] en dépendance de mon useEffect, mais sans effets (sans jeu de mots)
Je butte sur quelque chose, mais quoi ...
Vous n'auriez pas une idée ?
Merci par avance !
Partager