@Paul14

Как очищать стейт в модальном окне при каждом открытии?

Есть компонент модального окна, в котором инициализировано состояние для инпута и текстовой области.
Компонент появляется при нажатии на кнопки.
Как сделать, чтобы при любом появлении компонента все значения стейта в нем очищались (стали равны пустой строке)?

export default Modal = ({ saveFunc, modalVisible }) => {
  const [values, setValues] = React.useState({ input: "", textarea: "" });

  return (
    <div className="modal" style={{ display: modalVisible ? "block" : "none" }}>
      <input
        value={values.input}
        onChange={(e) => setValues({ ...values, input: e.target.value })}
      />
      <textarea
        value={values.textarea}
        onChange={(e) => setValues({ ...values, textarea: e.target.value })}
      />

      <button
        onClick={() => {
          saveFunc(values);
        }}
      >
        SAVE
      </button>
    </div>
  );
};

codesandbox
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
Очистите стейт полей после сохранения и при следующем открытии окна данных в полях не будет: https://codesandbox.io/s/agitated-voice-6hw2b8?fil...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы