Middle+
Was ist ein Abhängigkeits-Array in useEffect? Was passiert, wenn man ein leeres Array übergibt oder es ganz weglässt?
sobes.tech KI
Antwort von AI
В React хук useEffect принимает вторым аргументом массив зависимостей — список значений, при изменении которых эффект будет повторно выполняться.
- Если передать пустой массив
[], эффект выполнится только один раз — после первого рендера компонента (аналогичноcomponentDidMount). - Если не передавать массив зависимостей вовсе, эффект будет выполняться после каждого рендера компонента, что может привести к нежелательным повторным вызовам.
Пример:
useEffect(() => {
console.log('Выполнится один раз');
}, []);
useEffect(() => {
console.log('Выполняется после каждого рендера');
});
useEffect(() => {
console.log('Выполнится при изменении count');
}, [count]);
Таким образом, массив зависимостей контролирует, когда именно должен срабатывать эффект, оптимизируя работу компонента.