Значения не отображаются с использованием редукционной формы

прежде чем написать это, я пробовал все, чтобы найти решение, но на самом деле ничего не получалось. У меня есть стандартное приложение для реагирования/редукции. (Обе библиотеки последней версии.)

Теперь я хотел использовать redux-form для управления своими формами. Я добавил редуктор избыточной формы и скопировал «Простую форму» в свое приложение. Я вижу, что при изменении избыточных действий запускаются действия, но значение полей ввода никогда не будет отображаться. Кроме того, действия всегда содержат только последний символ, который я набрал.

Я действительно хотел бы предоставить код, но по какой-то причине код на вашем сайте работает. Есть ли какая-то известная причина, по которой входное значение не отображается? Я уверен, что вызывается действие onChange.

О, и я должен упомянуть, что в Blur все значение удаляется из хранилища.

РЕДАКТИРОВАТЬ: я удалил все остальные редукторы, промежуточное ПО и прочее для тестирования. Все те же результаты


person Christian    schedule 29.11.2016    source источник
comment
Можете ли вы поделиться соответствующими фрагментами кода?   -  person geoboy    schedule 29.11.2016
comment
Вы установили редуктор как form?   -  person Erik R.    schedule 01.12.2016
comment
привет, @Christian, ты нашел решение своей проблемы? Я столкнулся с аналогичной проблемой, когда я не могу ничего напечатать в своих полях ввода. onChange срабатывает, но поле ввода не обновляется новым значением.   -  person rafaelbiten    schedule 02.12.2016
comment
Я не нашел решения, потратив целый день. Поэтому я выкинул весь материал из редукционной формы и сам собрал необходимые части. На мой взгляд, в Redux-Forms слишком много глюков, чтобы их можно было использовать в серьезном рабочем приложении. Возможно, когда-нибудь в ближайшее время я открою исходный код своего собственного небольшого решения. Гораздо легче, чем их вещи.   -  person Christian    schedule 02.12.2016


Ответы (1)


Я думаю, что только что нашел решение этой проблемы, и это немного глупо =/

Вот что у меня было:

import { combineReducers } from 'redux';
import { reducer as forms } from 'redux-form';

import otherReducer from './otherReducer';

export default combineReducers({ otherReducer, forms });

Обратите внимание, что я импортировал редюсер в форме избыточности как forms и передал его как есть в мои combReducers (как я сделал с otherReducer), используя сокращенное значение свойства объекта ES6.

Проблема в том, что ключ, используемый для передачи редюсера redux-form в наши combReducers, ДОЛЖЕН называться form, поэтому мы должны изменить его на:

export default combineReducers({ customer, form: forms });

or

import { reducer as form } from 'redux-form';
export default combineReducers({ otherReducer, form });

Надеюсь, это поможет... Я только хочу, чтобы их документация была более ясной по этому поводу.

person rafaelbiten    schedule 02.12.2016