Descricao
findLesson e findModule em src/hooks/useRoadmap.ts sao funcoes inline recriadas em todo render. Componentes que as recebem como prop re-renderizam desnecessariamente.
Problema que Resolve
Re-renders cascata em LessonView e RoadmapView toda vez que qualquer estado pai muda, mesmo sem mudanca no roadmap.
Solucao Proposta
Envolver findLesson e findModule com useCallback com dependencia [], igual ao padrao ja usado com totalLessons via useMemo no mesmo hook.
Contexto Adicional
- Arquivo:
src/hooks/useRoadmap.ts
Descricao
findLessonefindModuleemsrc/hooks/useRoadmap.tssao funcoes inline recriadas em todo render. Componentes que as recebem como prop re-renderizam desnecessariamente.Problema que Resolve
Re-renders cascata em
LessonVieweRoadmapViewtoda vez que qualquer estado pai muda, mesmo sem mudanca no roadmap.Solucao Proposta
Envolver
findLessonefindModulecomuseCallbackcom dependencia[], igual ao padrao ja usado comtotalLessonsviauseMemono mesmo hook.Contexto Adicional
src/hooks/useRoadmap.ts