2017-04-03 56 views
0

我得到這個異常:陣營 - 終極版表格無法在店裏找到「用戶」的形式

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:對象,用戶:對象}

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

用戶基本上是登錄表單模型。

有人有想法如何解決這個問題嗎?可能我在redux商店中將用戶模型錯誤了?

在此先感謝。:)

回答

1

您需要Redux的形式添加到您的減速器詳細的here。你最終會得到這樣的結果。

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

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

您還需要確保在組件級別正確連接了表單。你沒有發佈你的組件的任何代碼。

+0

我是按照這個指南[鏈接](http://davidkpiano.github.io/react-redux-form/models.html)的形式。但是下面的形式減速器和形式裝飾沒有任何關係。 '//裝飾形式部件 的ContactForm = reduxForm({ 形式: '接觸' //這種形式 一個唯一的名稱})(的ContactForm);' – comprex

+0

即鏈路404 – spirift

+0

我得到它的工作:) 代碼下面combineReducers: '常量crmApp = combineReducers({ AUTH, 深:combineForms({ 用戶:initialUserState }, '深') });' 我被忘combineForms幫手。 – comprex