FRONTEND_1 Telegram 3976
🚨 Осторожно с useEffect: ловушка зависимости на функцию!

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


useEffect(() => {
fetchData(); // ⚠️ Эта функция может пересоздаваться на каждый рендер!
}, [fetchData]);


Если fetchData определена внутри компонента, она будет новой при каждом рендере, и эффект снова выполнится. Это может вызвать бесконечные циклы или лишние вызовы.

🛠 Решения:

1. Вынести функцию наружу, если она не зависит от пропов/стейта.
2. Обернуть в useCallback:


const fetchData = useCallback(() => {
// ...
}, []);


📌 Всегда проверяй зависимости в useEffect. Полагайся на ESLint-плагин react-hooks — он поможет не попасть в ловушку.

👉 @frontend_1



tgoop.com/frontend_1/3976
Create:
Last Update:

🚨 Осторожно с useEffect: ловушка зависимости на функцию!

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


useEffect(() => {
fetchData(); // ⚠️ Эта функция может пересоздаваться на каждый рендер!
}, [fetchData]);


Если fetchData определена внутри компонента, она будет новой при каждом рендере, и эффект снова выполнится. Это может вызвать бесконечные циклы или лишние вызовы.

🛠 Решения:

1. Вынести функцию наружу, если она не зависит от пропов/стейта.
2. Обернуть в useCallback:


const fetchData = useCallback(() => {
// ...
}, []);


📌 Всегда проверяй зависимости в useEffect. Полагайся на ESLint-плагин react-hooks — он поможет не попасть в ловушку.

👉 @frontend_1

BY Frontend разработчик




Share with your friend now:
tgoop.com/frontend_1/3976

View MORE
Open in Telegram


Telegram News

Date: |

Unlimited number of subscribers per channel Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! Matt Hussey, editorial director at NEAR Protocol also responded to this news with “#meIRL”. Just as you search “Bear Market Screaming” in Telegram, you will see a Pepe frog yelling as the group’s featured image. The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu.
from us


Telegram Frontend разработчик
FROM American