Как сбросить все значения useState в компоненте React без ручного вызова каждого установщика?Javascript

Форум по Javascript
Ответить
Anonymous
 Как сбросить все значения useState в компоненте React без ручного вызова каждого установщика?

Сообщение Anonymous »

Я работаю над компонентом React/Next.js, который имеет большое количество независимых перехватчиков useState (потенциально 50–100). Упрощенная версия выглядит так:

Код: Выделить всё

const [name, setName] = useState("");
const [count, setCount] = useState(0);
const [active, setActive] = useState(false);

const resetAll = () => {
setName("");
setCount(0);
setActive(false);
};
Сброс каждой переменной состояния вручную работает, но его становится очень сложно поддерживать, когда компонент растет и добавляется больше состояний.
Вопрос:

Есть ли масштабируемый способ сбросить все значения useState в компоненте без необходимости вызывать каждый метод установки по отдельности?
Я ищу рекомендуемые шаблоны или лучшие практики в React для сброса сложных структур состояния. В идеале это работает, даже если компонент содержит много переменных состояния.
Я рассмотрел:
  • Использование одного объекта в useState
  • Использование useReducer
  • Принудительное перемонтирование компонента с помощью ключа
Но я не уверен, какой подход является идиоматическим или React предлагает встроенный механизм для этого сценария.
Как лучше всего сбрасывать большое количество переменных useState одновременно?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -calling-e
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»