错误withRef被删除.要访问包装的实例,请在使用Redux Form时在连接的组件上使用ref

Mim*_*imo 18 reactjs redux redux-form

我试图让Redux Form第一次工作,我收到以下错误:

删除了不变违反withRef.要访问包装的实例,请在连接的组件上使用ref.

我究竟做错了什么?一旦我写了(从示例中复制/粘贴)商店,就会抛出错误.

这是代码.

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);
Run Code Online (Sandbox Code Playgroud)

我还创建了一个代码沙箱来显示问题:https://codesandbox.io/s/07xzolv60

Yar*_*atz 20

我有同样的问题.显然,终极版形式不工作还没有很好的反应,终极版更高的版本,则6.

对我来说,将react-redux软件包降级到第5版有什么帮助

npm install react-redux@5.1.1 --save
Run Code Online (Sandbox Code Playgroud)

  • 真的如何解决? (6认同)

小智 16

只需更新到最新版本的redux-form(8.1.0)。无需降级。


Cla*_*Ray 5

尽管上面的方法确实有效,但是如果您想使用最新的方法,则只需将函数组件重构为类组件即可。寻找withRef()API。(请将此作为正确的答案,以帮助其他开发人员。)

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

  • 请将此答案作为正确答案投票,以便开发人员最终不会降级版本以使其正常工作! (2认同)