Javascript 如何将redux存储传递到动态呈现的redux表单组件中?
我有一个React Redux应用程序,它使用Redux表单。表单是通过事件动态呈现的。当它呈现时,我得到一个错误Javascript 如何将redux存储传递到动态呈现的redux表单组件中?,javascript,reactjs,redux,react-redux,redux-form,Javascript,Reactjs,Redux,React Redux,Redux Form,我有一个React Redux应用程序,它使用Redux表单。表单是通过事件动态呈现的。当它呈现时,我得到一个错误Uncaught错误:在“Connect(Form(FormCreate))”的上下文或道具中找不到“store” 为了修复这个错误,我显式地将一个存储传递到表单组件中,如下所示 render(<FormCreate store={store}/>, document.getElementById('form')) render(,document.getElement
Uncaught错误:在“Connect(Form(FormCreate))”的上下文或道具中找不到“store”
为了修复这个错误,我显式地将一个存储传递到表单组件中,如下所示
render(<FormCreate store={store}/>, document.getElementById('form'))
render(,document.getElementById('form'))
但redux表单自定义渲染场也需要存储。比如说
<Field store={store} component={renderField} type="text" name="text" label="Text"/>
错误消失了,但在我看来这是一种糟糕的方法:)这就是为什么我要问如何更简单地将redux存储传递到呈现的redux表单组件中
PS:如果根元素已经包装在提供者中,我可以将呈现的表单组件包装到提供者中吗 您可以对表单使用reduxForm装饰器,它将为您解决此问题。在下面的示例中,SimpleForm是一个由表单组成的React组件。这将使字段组件中的数据显示为Redux状态。不过,装饰器只是es7的一部分,但在Typescript中可用
导出默认reduxForm({
表单:“simple”//此表单的唯一标识符
})(SimpleForm)
Ok,正如redux表单文档所说,我使用了decorator,但存储并没有传递到新的呈现表单中。我通过使用第二个
来解决问题。reduxForm装饰器不会将存储作为组件的道具提供给您,但它会确保您不需要向组件提供存储。它将确保字段中的数据最终处于redux状态。