очистка формы?
useEffect
В документации написано аналогично componentDidMount, т.е. повторный рендеринг вызовет
А зачем вам что-то делать до монтирования? Почему нельзя очистить форму после?
А в функциональных компонентах другого нет
Посмотри в сторону useLayoutEffect (если не ошибаюсь)
Вернее даже не так, почему форма очищается после монтирование, а не имеет правильное состояние в момент монтирования?
в доках рекомендуют его не использовать
Не хочу чтобы рендерилась два раза
Ну так в вашем примере, форма до маунта очищается, почему бы не держать ее состоянии по дефолту всегда очищенным? Тогда не надо будет вообще ничего делать, а если состояние нужно восстановить, то делать это после маунта?
У меня скорее не форма а ошибки валидации полученные с сервера, хранятся в сторе, их нужно очистить чтобы не показывались при открытии формы заного. Я так понял это теперь можно сделать только в конструкторе, но нет ли подводных камней?
А вариант с их очищением на анмаунт не подходит? Вообще с конструктором все должно работать, но в целом мне кажется что конструктор тут тоже не нужен
Ну да, с анмаунтом как наиболее правильный способ выглядит, просто хотелось чтобы 100% ошибки подчищались перед рендерингом. Спасибо)
Нигде не нужно, ведь с юзсиейт на каждый маунт - новый девственный стейт
Форма в редаксе хранится)
Значит ресетайте стор на анмаунте, а ещё лучше избавьтесь уже наконец от редакс форм
А если каким то образом не сбросилось (состояние загрузилось из локалсторэйж) ?
Само состояние не может загидрироватся из LS
Ну вот если предположить что форма не сбросилась, как сбросить ее именно перед рендером?
из useEffect вернуть функцию которая ее очищает
Не нужно предполагать нереальных кейсов и будет вам счастье😁
Так и поступлю, спасибо)
После рендера вызывается же
Это вам подсказали как на анмаунт чистить стейт формы
Обсуждают сегодня