это выигрыш по перформансу в действительности?
в динамических списках даст однозначно
Но и в обычных компонентах по идее должно быть плюсом?
не всегда, не нужно всё мемоизировать, если новичок то пока не спеши с мемоизацией, это что-то что не для начинания
Неа. Ясень пень не все. Например то куда передается useCallback или useMemo))
юзколбек и юзмемо тоже необязательно используются в связке с мемо
погугли на тему того как реакт работает под капотом, как он понимает что ему надо ререндерить а что нет, тогда станет яснее как работает эта мемоизация, где и зачем она нужна
https://blog.greenroots.info/reactjs-virtual-dom-and-reconciliation-explain-like-im-five
Она работают так что решает ререндерить компонент или нет в зависимости от функции сравнения. Обычно сравниваются пропсы, но можно передать опциональный колбек сравнения.
Измерь для себя, всё будет понятно, профайлер есть (только не react devtools - они врут, а настоящий js профайлер). В целом у RN очень медленный рендерер по сравнению с вебом и в js и в нативе... Мне закрытие в нужных точках реконсайлинга через memo иногда позволяло починить "безбожно тормозные" анимации и реакции на тапы )
Обсуждают сегодня