redux-form Миграция на v6 выдает ошибку в getValues.js

Я пытаюсь использовать v6 избыточной формы, но сталкиваюсь с некоторыми довольно неописуемыми ошибками. Настройка проста, редуктор дословно с сайта:

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;
  }, {});
};

Одна идея возникла в самом низу страницы миграции v6 на redux-form. об обновлении react-hot-loader, поэтому я обновился до 3.X, но это не сработало.


person captDaylight    schedule 12.10.2016    source источник


Ответы (1)


Вы используете синтаксис v6, но в вашем node_modules/redux-form используется версия v5. Эта функция getValues больше не существует в v6.

rm -rf node_modules/redux-form
npm install --save redux-form
person Erik R.    schedule 12.10.2016
comment
Потрясающе, спасибо. Мне пришлось запустить npm i -S redux-form@6, чтобы убедиться, что я получаю самую последнюю и лучшую версию, иначе это ответ! - person captDaylight; 12.10.2016