perf: CategoriesProvider
publié le , mis à jourEst-ce que ce hook est vraiment utile ?
On pourrait pas le lazy-load ? Car le CategoriesProvider est tout en haut de l'app, donc il est envoyé au client a chaque fois
etienneJr
ça sert à charger la liste des catégories dans la bonne langue. J'avoue que j'ai probablement copié cette ligne d'un fichier à l'autre sans réfléchir à l'impact sur la perf. Si il y a moyen de faire mieux, en chargeant la liste 1 seule fois au démarrage de l'app, ou lors du changement de langue, alors oui bien sûr n'hésite pas. Ca a vraiment un impact sur la perf de l'appeler plusieurs fois ?
n4n5
Je parle pas de ces lignes spécifiquement ^^
Je parle du composant
CategoriesProviderqui permet ensuite d'utiliser le hookuseLinguiqui renvoie lescategoriesBah ça fait que les catégories sont chargés au même moment que l'App. Si on les charges de façon Lazy, ça pourrait normalement réduire le premier chargement de l'app
Mais y a peut être une raison qui fait que c'est comme ça
https://codeberg.org/cartes/web/commit/a638916c200612a307992f70732b7b1ee922a968
laem
Il n'y a que sur les routes statiques genre le blog et tout qu'on ne veut pas des catégories, non ? Sinon elles sont nécessaires pour presque tous les usages de cartes.app, non ?
n4n5
@laem wrote in https://codeberg.org/cartes/web/issues/3062#issuecomment-23453665:
Sinon elles sont nécessaires pour presque tous les usages de cartes.app, non ?
Elles sont nécessaires, mais pas au premier chargement. Actuellement, elles sont chargées dès le premier chargement. ça fait 15kb à télécharger obligatoirement. C'est pas grand chose si on regarde les autres tailles de requetes, mais c'est toujours ça de gagner pour optimiser le premier chargement je pense
laem
C'est pas grand chose si on regarde les autres tailles de requetes, mais c'est toujours ça de gagner pour optimiser le premier chargement je pense
Oui mais si elles sont ensuite chargées dans la foulée sans action utilisateur, c'est à peu près la même chose pour Google, qui attend que le site soit idle pour le considérer chargé.
n4n5
Je suis d'accord qu'elles sont chargées par la suite, mais comment le CategoriesProvider est tout en haut, je pense qu'il empeche le rendu de commencer.
Alors que si on le mets dans les composants, la page pourra commencer à être rendu je pense
laem
Ah c'est possible oui, si c'est un processus bloquant. Sinon, tout est fait en parallèle.