React-Redux-Form Не удалось найти форму для пользователя в магазине

Я получаю это исключение:

 Uncaught Error: Unable to create Form component. Could not find form for "user" in the store.

Вот мой файл reducers.js

function initialUserState(state = {email: '', password: ''}) {
    return state;
}

const crmApp = combineReducers({
    auth,
    user: initialUserState
});

export default crmApp;

И вот index.js

let store = createStore(reducers);
console.log(store.getState());

ReactDOM.render(
    <Provider store={ store }>
        <App />
    </Provider>,
    document.getElementById('root')
);

Вывод консоли показывает, что хранилище содержит объект "пользователь": Объект {auth: Object, user: Object}

auth:
  Object
     isAuthenticated:false
     isFetching: false
  Object
    user:
      Object
        email:""
        password:""

Пользователь в основном является моделью для формы входа.

У кого-нибудь есть идеи, как это исправить? Возможно, я неправильно помещаю пользовательскую модель в хранилище избыточности?

Заранее спасибо.:)


person comprex    schedule 03.04.2017    source источник


Ответы (1)


Вам необходимо добавить редукс-форму в свой редуктор, как подробно описано здесь . У вас должно получиться что-то вроде этого.

import { reducer as formReducer } from 'redux-form'

const crmApp = combineReducers({
    auth,
    user: initialUserState,
    form: formReducer
});

Вам также необходимо убедиться, что вы правильно прикрепили форму на уровне компонента. Однако вы не опубликовали код для своего компонента.

person spirift    schedule 03.04.2017
comment
Я следовал этому руководству ссылка с точки зрения форм. Но о formReducers и оформлении форм ниже ничего не сказано. // Decorate the form component ContactForm = reduxForm({ form: 'contact' // a unique name for this form })(ContactForm); - person comprex; 03.04.2017
comment
Эта ссылка 404 - person spirift; 03.04.2017
comment
У меня все заработало :) Код ниже для combReducers: const crmApp = combineReducers({ auth, deep: combineForms({ user: initialUserState }, 'deep') }); я забыл о хелпере CombineForms. - person comprex; 03.04.2017
comment
@spirift Я считаю, что этот ответ предназначен для неправильного компонента формы реакции на редукцию. - person atwright147; 30.09.2017