Как я понимаю из документации по реакционной форме, вы обычно помещаете редуктор form
в корень вашего дерева редуктора, а редукционная форма будет содержать состояние каждой формы внутри этого form
ключ, основанный на имени формы.Формы связывания в нескольких разных точках крепления с редукционной формой
Однако это приведет к возникновению странной структуры, при которой данные формы для определенного дерева находятся под ключом формы, а не с другими данными состояния, связанными с ним. В этом примере приложение хранит список возможных типов учетных записей с сервера, которые логически должны быть сгруппированы с самой формой регистрации. Однако с Redux-формы они будут в совершенно разных поддеревьев:
signup
/
forms
/ \
/ login
/
root
\ login--signinMethods
\ /
header
\
signup--accountTypes
Я бы предпочел более организованным дерево, как это:
form
/
signup
/ \
/ accountTypes
/
root
\ signinMethods
\ /
login
\
form
Возможно ли это с Redux-формы, или любой другая библиотека редукции?
Мне любопытно, какую выгоду вы видите в результате этого (разбивая дерево состояний редукционной формы)? Лично я считаю, что сохранение дерева 'form' на корневом уровне для размещения всех форм (-ов) данных имеет наибольший смысл (как редукционная форма получается из коробки). Полагаю, вы могли бы воспользоваться предоставленной формойReducer и свернуть свои собственные редукторы в разных местах вашего дерева дерева (как вы сказали). В этот момент я чувствую, что вы можете сражаться с вашими инструментами (и изобретать колеса) исключительно из предпочтений, а не из реальных заслуг. – ErikTheDeveloper
Да, это будет борьба с инструментами, и я не буду этого делать, если для этого потребуется куча усилий. Однако в этой ситуации каждая форма, вероятно, содержит внутри себя элемент '