Migrasi bentuk redux ke v6 menimbulkan kesalahan di getValues.js

Saya mencoba menggunakan bentuk redux v6 tetapi mengalami beberapa kesalahan yang tidak deskriptif. Penyiapannya mudah, peredam kata demi kata dari situs:

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

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

Kemudian, saya membuat komponen langsung tanpa bidang apa pun (saya mendapatkan kesalahan yang sama persis ketika saya memiliki bidang juga).

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);

Saat saya menavigasi ke komponen saya, saya mendapatkan kesalahan ini:

Uncaught TypeError: Cannot read property 'reduce' of undefined

Kesalahannya mengarah ke getValues.js dari redux-form, dan khususnya area kode ini:

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

Satu ide muncul dari bagian paling bawah halaman migrasi v6 redux-form tentang mengupgrade react-hot-loader, jadi saya mengupgrade ke 3.X tetapi tidak berhasil.


person captDaylight    schedule 12.10.2016    source sumber


Jawaban (1)


Anda menggunakan sintaks v6 tetapi versi di node_modules/redux-form Anda adalah v5. Fungsi getValues itu tidak ada lagi di v6.

rm -rf node_modules/redux-form
npm install --save redux-form
person Erik R.    schedule 12.10.2016
comment
Luarbiasa, terimakasih. Saya harus menjalankan npm i -S redux-form@6 untuk memastikan saya mendapatkan yang terbaru dan terhebat, jika tidak, inilah jawabannya! - person captDaylight; 12.10.2016