В компоненте есть форма. После успешного сабмита форма заменяется на div с сообщением об успешном сабмите. Переключение с окна формы на окно сообщения происходит при изменении флага isSubmitted с false на true.
Помимо сообщения о том, что форма отправлена, пользователю предлагается либо перейти на другую страницу, либо снова заполнить и отправить форму, но уже с другими данными.
Вопрос в том, как сбросить весь компонент к изначальному его состоянию? Чтобы затерлись все инпуты, флаг isSubmitted снова стал false, да и все остальные переменные вернулись к дефолтному состоянию? Сейчас я это делаю через тэг <a>, который направляет на эту же страницу. Но мне не нравится тот факт, что страница рендерится заново, а особенно то, что она при этом мелькает.
В свою очередь, присваивание всем переменным, которые используются в компоненте, их дефолтное значение мне тоже кажется не лучшей идеей.
Что подскажете в данной ситуации?
присваивание всем переменным, которые используются в компоненте, их дефолтное значение мне тоже кажется не лучшей идеей
Кроме "кажется" другие возражения против данного способа есть?
Если не устраивает объём кода - вынесите его в отдельный метод, который будет вызываться при создании экземпляра компонента и когда значения надо сбросить.