React · Senior · Запитання 47 з 75
Чому React.memo з користувацькою функцією порівняння буває небезпечним?
- ✓Правильна відповідь: Якщо порівняти не всі props, компонент покаже застарілі дані або колбеки
- 2Користувацька функція порівняння заборонена в продакшен-збірці
- 3Функція викликається на сервері й гальмує SSR
Пояснення
arePropsEqual має враховувати всі props, включно з функціями: якщо ігнорувати колбек, компонент викликатиме його стару версію із «застиглим» замиканням. Глибоке порівняння великих даних може коштувати дорожче за сам рендер. Частіше правильніше стабілізувати props.