Керування станом · Middle · Запитання 8 з 75
Чому React.memo не допомагає компоненту, який викликає useContext(CartContext)?
- ✓Правильна відповідь: Memo порівнює пропси, а зміна контексту перемалює споживача в будь-якому разі
- 2Memo ігнорується для компонентів, які використовують будь-які хуки
- 3Memo працює лише для класових компонентів
Пояснення
Оновлення контексту оминають порівняння пропсів. Обхідний шлях: читати контекст у маленькому батьку й передавати мемоізованому нащадку лише потрібне значення - тоді нащадок пропустить рендер, якщо значення не змінилося.