React · Middle · Запитання 2 з 75
Як скинути стан форми <EditForm /> під час перемикання на іншого користувача?
- 1Скинути всі поля в
useEffectу разі зміниuserId - ✓Правильна відповідь: Передати
key={userId}- React перестворить компонент - 3Викликати
forceUpdate()у компонента форми
Пояснення
Новий key каже React, що це інший компонент: старий розмонтується разом зі станом, і змонтується новий. Скидання через ефект працює, але спершу відмалює застарілі дані, а потім виправить їх - зайвий рендер і мерехтіння. forceUpdate є лише в класів і стан не скидає.