Sobes.tech
Middle+

Qu'est-ce qu'un tableau de dépendances dans useEffect ? Que se passe-t-il si on passe un tableau vide ou si on ne le passe pas du tout ?

sobes.tech IA

Réponse de l'IA

В React хук useEffect принимает вторым аргументом массив зависимостей — список значений, при изменении которых эффект будет повторно выполняться.

  • Если передать пустой массив [], эффект выполнится только один раз — после первого рендера компонента (аналогично componentDidMount).
  • Если не передавать массив зависимостей вовсе, эффект будет выполняться после каждого рендера компонента, что может привести к нежелательным повторным вызовам.

Пример:

useEffect(() => {
  console.log('Выполнится один раз');
}, []);

useEffect(() => {
  console.log('Выполняется после каждого рендера');
});

useEffect(() => {
  console.log('Выполнится при изменении count');
}, [count]);

Таким образом, массив зависимостей контролирует, когда именно должен срабатывать эффект, оптимизируя работу компонента.