diff --git a/src/features/grid/components/heatmap-grid.tsx b/src/features/grid/components/heatmap-grid.tsx index 0af67cb..c48bcb4 100644 --- a/src/features/grid/components/heatmap-grid.tsx +++ b/src/features/grid/components/heatmap-grid.tsx @@ -1062,7 +1062,17 @@ export function HeatmapGrid({ onSelectionChange, isAdmin }: HeatmapGridProps) { ))} -
+ {/* + * La clé porte AUSSI la signature des colonnes : changer de jeu de + * colonnes remonte le corps du tableau au lieu de compter sur la + * comparaison de props de `React.memo`. Une ligne mémoïsée qui rate + * le signal continue de peindre l'ancien jeu de cellules, et la + * grille se retrouve à deux vitesses — en-tête à jour, corps en + * retard. Un remontage ne coûte que les ~30 lignes virtualisées, et + * le redimensionnement (continu) ne le déclenche pas : les + * identifiants de colonnes ne changent pas. + */} + {rowVirtualizer.getVirtualItems().map((virtualRow) => { const row = tableRows[virtualRow.index]; const isSelected = row.getIsSelected();