Как сбросить все значения 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

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