getValues.js 中的 redux-form 迁移到 v6 抛出错误
redux-form Migration to v6 throwing error in getValues.js
我正在尝试使用 redux-form 的 v6,但 运行 出现了一些相当难以描述的错误。设置很简单,reducer 来自网站:
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
我正在尝试使用 redux-form 的 v6,但 运行 出现了一些相当难以描述的错误。设置很简单,reducer 来自网站:
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