Optimisation : rappel de state qui cause un rerendu
publié le , mis à jourClic sur un lieu -> boulangerie dans state. On le ferme, closeFeature -> allez = null, cool. Clic sur un autre -> useMapClick met le state avec la données OSM -> allezValue revient à la valeur boulangerie, puis à la nouvelle. Ça provoque un rerendu inutile.
laem
Deuxième problème, probablement plus ciblé : le calendrier des arrêts de bus est rendu à chaque déplacement sur la carte.
laem
OK pour le 1, 7e4005cbb résoud la reminiscence (sans entrainer de bug comme sur le double clic j'espère), mais pas le sujet des coordonnées URL vs OSM non compressé. Donc voir le log
olive vers, vers est réécri avec d'autres coordonnées, déclenchant une réécriture de osmFeature etc. qu'on pourrait éviter.laem
Ah, trouvé pour le 2). @pmiossec c'est ici, tu crées un objet directement dans un render react.
https://codeberg.org/cartes/web/commit/5b5ddd8efa32c88bcfe2f2f0e1ea2743ca217ffd
Du coup à chaque changement de n'importe quel état de Container, et il y en a beaucoup beaucoup, transportStopData sera recréé et toute la chaine qui l'utilise va être rerendu. Donc à chaque mouvement de la carte ici.
D'où le useMemo plus haut. Je corrige.
laem
Voilà c'est un peu mieux pour 2, j'ai ajouté un memo() sur OsmFeature, mais je constate que sur Firefox l'ouverture du calendrier rame complètement, sur Chrome pas du tout.