Обновить
3
0
Константин Смирнов@fogarea

Пользователь

Отправить сообщение

Зачем мешать стору с формами? Для кого это все? В чем удобство? В чем преимущество глобально (а не в кейсе вашей команды) над тем же реакт хук форм?

Redux не обязателен, по умолчанию форма работает с локальным useReducer. Но в местах, где данные должны «жить» дольше, чем компонент, поддержка Redux снимает необходимость вручную синхронизировать значения формы со стором. А за счет единого API, для разработчика форма выглядит одинаково, независимо от того, где она хранится. Это экономит время и снижает вероятность ошибок.

В проектах было много кейсов, где применялись формы, которые находились на разных страницах, но должны были уметь синхронизироваться. Плюс, было достаточно wizard форм, которые тоже удобней синхронизировать через redux.

Что же касается работы с глобальным стором, здесь вообще муть какая-то. Вы хоть раз видели компоненты форм из ui-китов, которые могут работать только с каким-то одним стором(глобальным ИЛИ локальным), которые вообще знают что-либо о сторе? Обычно это всегда передаваемые методы в компонент, в духе onInput и так далее, и значения в value из того же стора, если нужен именно он.

У вас же просто слепились в одно и библиотека логики работы формы, и потребители этой логики в виде компонентов - первое просто не нужно, потому что есть react-hook-form, а второе тем более не нужно, во втором абзаце написано, почему.

В статье речь идет только о core части Steroids, которая включает в себя работу с формами, состоянием и тд. Ui компоненты ничего и не знают о сторе, а работают как контролируемые компоненты.

А про react-hook-form вам никто за эти годы так и не рассказал? Которая легко прикручивается к любым ui-китам через собственный Controller. Нет, я вижу, что вы в конце о ней вспомнили и даже сравнения провели, просто в начале почему-то ни слова, будто упёрлись, решения нет, и вот решили сделать своё. Решение уже было, и прекрасное - так зачем своё? Босс захотел? И зачем врать во вступлении в таком случае?)

Да, react-hook-form действительно существовал уже тогда. Но когда мы принимали решение, библиотека только набирала популярность, а мы были завязаны на Redux. React-hook-form не закрывал все эти требования из коробки. Его можно было прикрутить, но тогда пришлось бы писать свой слой обёрток и решать те же проблемы, что мы и так решали. В итоге проще оказалось написать движок под свои задачи.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность