2016-10-12 19 views
0

我試圖使用V6的REDX形式,但運行到一些漂亮的不容錯誤的錯誤。該設置是直線前進,減速從網站逐字:redux形式遷移到V6投擲錯誤getValues.js

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

export default combineReducers({ 
    form: formReducer, 
}); 

然後,我沒有任何字段(我得到完全相同的錯誤,當我有場太)創建一個簡單的組件。

import React, { Component } from 'react'; 
import { Field, reduxForm } from 'redux-form'; 

class LoginForm extends Component { 
    render() { 
    const { handleSubmit, pristine, reset, submitting } = this.props; 

    return (
     <div> 
     Form 
     </div> 
    ); 
    } 
} 

export default reduxForm({ 
    form: 'login' // a unique name for this form 
})(LoginForm); 

當我瀏覽到我的組件,我得到這個錯誤:

Uncaught TypeError: Cannot read property 'reduce' of undefined 

錯誤指向終極版形式的getValues.js,特別這個地區代碼:

var getValues = function getValues(fields, state) { 
    return fields.reduce(function (accumulator, field) { 
    getValue(field, state, accumulator); 
    return accumulator; 
    }, {}); 
}; 

一個想法來自redux-form的v6 migration page關於升級react-hot-loader的底部,所以我升級到了3.X,但是沒有奏效。

回答

1

您正在使用v6語法,但node_modules/redux-form中的版本是v5。那getValues函數不再存在於v6中。

rm -rf node_modules/redux-form 
npm install --save redux-form 
+0

太棒了,謝謝。我必須運行npm i -S redux-form @ 6以確保我獲得了最新最好的版本,否則這就是答案! – captDaylight