Pull to refresh
0
0
Роман Чернухин@xandmore

Frontend Developer

Send message
const { current: persistentCallback } = useRef(func)

Кажется, что приведенный выше фрагмент кода повторяет вашу логику. Вы инкапсулировали ее в хук для большей декларативности?

UPD: Прошу прощения, понял, что это разные вещи.
Я после прочтения статьи и комментариев задался следующими вопросами:
1. При использовании обычного метода (немемоизированного) react-dom будет вызывать add/removeEventListener на DOM-элементе, в то время как при использовании мемоизированной версии этого происходить не будет, верно? Что-то мне подсказывает, что операция с DOM зачастую будет более дорогостоящей, нежели сравнения зависимостей и создание лишней функции. Есть соображения, как это замерить или уже готовые метрики?
2. У нас на проекте очень часто мемоизированные функции вызываются в эффектах. Использование useCallback позволяет, по моему скромному мнению, писать эти самые эффекты сходу, не выстреливая себе в ногу тем, что какая-то из вызываемых функций внезапно окажется немемоизированной и будет триггерить эффект, и так же безопасно включать эти самые функции в список зависимостей эффектов дочерних компонентов. То есть, делаешь все функции по дефолту мемоизированными и больше не вспоминаешь о возможных сайд-эффектах. Что вы думаете по этому поводу?

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity