我正在尝试使用v6的redux格式,但遇到了一些非常无法描述的错误。设置简单明了,来自站点的逐字逐句减速器:
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
错误指向redux-form的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,但是没有用。
最佳答案
您正在使用v6
语法,但是node_modules/redux-form
中的版本是v5
。 getValues
函数不再存在于v6
中。
rm -rf node_modules/redux-form
npm install --save redux-form
关于javascript - 从redux形式迁移到v6,getValues.js中出现错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40002960/