function Timer({ onTick }) { const onTickRef = useRef(onTick); // Met à jour la ref sans déclencher de re-rendu useEffect(() => { onTickRef.current = onTick; }, [onTick]); useEffect(() => { const interval = setInterval(() => { onTickRef.current(); // Utilise toujours la dernière version }, 1000); return () => clearInterval(interval); }, []); // Pas besoin de onTick dans les dépendances }