Ответ 1
Просто обновитесь до последней версии redux-form (8.1.0). Нет необходимости понижать рейтинг.
Я пытаюсь заставить 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
Просто обновитесь до последней версии redux-form (8.1.0). Нет необходимости понижать рейтинг.
У меня такая же проблема. Очевидно, что при редукс-форме больше 6 не работает, а при использовании версии -редукса она не работает.
Для меня то, что помогло, - это понижение пакетаact-redux до версии 5
npm install [email protected] --save
Несмотря на то, что вышесказанное работает, если вы хотите использовать самую последнюю версию, все, что вам нужно сделать, - это перестроить компонент вашей функции в компонент класса. Ищите API withRef()
. (Пожалуйста, подтвердите это как правильный ответ, чтобы помочь другим разработчикам.)
https://redux-form.com/7.1.2/docs/api/fieldarray.md/#props-you-can-pass-to-code-fieldarray-code-
Я бы бросил redux-form
и узнал бы что-нибудь более популярное, например, formik
или я бы работал с формами непосредственно в React.
Форма Redux не очень хорошо поддерживается; мы ждем релиза от владельца с июля, чтобы исправить эту проблему: https://github.com/erikras/redux-form/issues/4126#issuecomment-406111889
https://github.com/reduxjs/react-redux/releases/tag/v6.0.0
Параметр withRef для подключения был заменен на forwardRef
export default
connect(
mapStateToProps,
mapDispatchToProps, null, {forwardRef: true})(Component)
Я не советую понижать react-redux
, вместо этого я говорю, что вы обновляете обе библиотеки до последних версий, и проблема должна быть исправлена. Пожалуйста, обратитесь к документации Redux Form при переходе с v6 на v8.