FRONTEND_1 Telegram 3952
🔥 useMemo vs useCallback — не путай!

Многие React-разработчики путают useMemo и useCallback. Давай раз и навсегда разберёмся:

🤯 В чём разница?

- useMemo(fn, deps)мемоизирует значение, возвращает результат выполнения fn().
- useCallback(fn, deps)мемоизирует саму функцию, возвращает fn.

💡 Когда использовать?

- useMemo — если ты вычисляешь что-то тяжёлое или зависящее от пропсов/стейта:

const filtered = useMemo(() => data.filter(i => i.active), [data]);


- useCallback — если передаёшь функцию в дочерний компонент, чтобы избежать лишних ререндеров:

const handleClick = useCallback(() => {
console.log('clicked');
}, []);


⚠️ Антипаттерн


const memoized = useMemo(() => () => doSomething(), []);

Это просто useCallback(doSomething, []). Не усложняй 😄

🔁 Используй по назначению — и код будет быстрее и понятнее!

👉 @frontend_1
👍51😁1



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

🔥 useMemo vs useCallback — не путай!

Многие React-разработчики путают useMemo и useCallback. Давай раз и навсегда разберёмся:

🤯 В чём разница?

- useMemo(fn, deps)мемоизирует значение, возвращает результат выполнения fn().
- useCallback(fn, deps)мемоизирует саму функцию, возвращает fn.

💡 Когда использовать?

- useMemo — если ты вычисляешь что-то тяжёлое или зависящее от пропсов/стейта:


const filtered = useMemo(() => data.filter(i => i.active), [data]);


- useCallback — если передаёшь функцию в дочерний компонент, чтобы избежать лишних ререндеров:

const handleClick = useCallback(() => {
console.log('clicked');
}, []);


⚠️ Антипаттерн


const memoized = useMemo(() => () => doSomething(), []);

Это просто useCallback(doSomething, []). Не усложняй 😄

🔁 Используй по назначению — и код будет быстрее и понятнее!

👉 @frontend_1

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




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

View MORE
Open in Telegram


Telegram News

Date: |

5Telegram Channel avatar size/dimensions “[The defendant] could not shift his criminal liability,” Hui said. "Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist.
from us


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