Керування станом · Senior · Запитання 6 з 75
Як зробити, щоб споживачі CartContext, які використовують лише дії в стилі dispatch, не перемальовувалися?
- ✓Правильна відповідь: Передавати стан і дії в різних контекстах; значення контексту дій стабільне
- 2Обгорнути провайдер у
React.memo - 3Зберігати дії в
useRefвсередині кожного споживача
Пояснення
Кнопки, які лише викликають addItem, читають CartActionsContext (мемоізований один раз), тому зміни кошика їх не перемальовують. Оновлюються лише компоненти, що читають CartStateContext.