Ошибка withRef удалена. Чтобы получить доступ к упакованному экземпляру, используйте ссылку на подключенный компонент при использовании Redux Form.

Я пытаюсь заставить Redux Form работать впервые и получаю следующую ошибку:

Инвариантное нарушение withRef удалено. Чтобы получить доступ к упакованному экземпляру, используйте ссылку на подключенный компонент.

Что я делаю неправильно? Ошибка выдается, как только я пишу (скопируйте/вставьте из примера) хранилище.

Вот код

import React from "react";
import ReactDOM from "react-dom";
import { createStore, combineReducers } from 'redux'
import { reducer as formReducer } from 'redux-form'

const rootReducer = combineReducers({
  form: formReducer
})

const store = createStore(rootReducer);


function App() {
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);

Я также сделал песочницу с кодом, которая показывает проблему: https://codesandbox.io/s/07xzolv60

Ответы

Ответ 1

Просто обновитесь до последней версии redux-form (8.1.0). Нет необходимости понижать рейтинг.

Ответ 2

У меня такая же проблема. Очевидно, что при редукс-форме больше 6 не работает, а при использовании версии -редукса она не работает.

Для меня то, что помогло, - это понижение пакетаact-redux до версии 5

npm install [email protected] --save

Ответ 3

Несмотря на то, что вышесказанное работает, если вы хотите использовать самую последнюю версию, все, что вам нужно сделать, - это перестроить компонент вашей функции в компонент класса. Ищите API withRef(). (Пожалуйста, подтвердите это как правильный ответ, чтобы помочь другим разработчикам.)

https://redux-form.com/7.1.2/docs/api/fieldarray.md/#props-you-can-pass-to-code-fieldarray-code-

Ответ 4

Я бы бросил redux-form и узнал бы что-нибудь более популярное, например, formik или я бы работал с формами непосредственно в React.

Форма Redux не очень хорошо поддерживается; мы ждем релиза от владельца с июля, чтобы исправить эту проблему: https://github.com/erikras/redux-form/issues/4126#issuecomment-406111889

Ответ 6

Я не советую понижать react-redux, вместо этого я говорю, что вы обновляете обе библиотеки до последних версий, и проблема должна быть исправлена. Пожалуйста, обратитесь к документации Redux Form при переходе с v6 на v8.

https://redux-form.com/8.2.2/docs/MigrationGuide.md