Middle+
Šta je niz zavisnosti u useEffect? Šta će se desiti ako prosledite prazan niz ili ga uopšte ne prosledite?
sobes.tech АИ
Одговор од АИ
В React хук useEffect принимает вторым аргументом массив зависимостей — список значений, при изменении которых эффект будет повторно выполняться.
- Если передать пустой массив
[], эффект выполнится только один раз — после первого рендера компонента (аналогичноcomponentDidMount). - Если не передавать массив зависимостей вовсе, эффект будет выполняться после каждого рендера компонента, что может привести к нежелательным повторным вызовам.
Пример:
useEffect(() => {
console.log('Выполнится один раз');
}, []);
useEffect(() => {
console.log('Выполняется после каждого рендера');
});
useEffect(() => {
console.log('Выполнится при изменении count');
}, [count]);
Таким образом, массив зависимостей контролирует, когда именно должен срабатывать эффект, оптимизируя работу компонента.