Javascript Redux表单:是否可以访问formReducer
我一直在尝试的是从容器组件中的Javascript Redux表单:是否可以访问formReducer,javascript,redux-form,Javascript,Redux Form,我一直在尝试的是从容器组件中的formReducer获取一个值 有两个组成部分。一个是具有Redux形式的表示组件 class Form extends React.Component { render() { return ( <div> <form onSubmit={handleSubmit}> <Field name="title"
formReducer
获取一个值
有两个组成部分。一个是具有Redux形式的表示组件
class Form extends React.Component {
render() {
return (
<div>
<form onSubmit={handleSubmit}>
<Field name="title"
component="input"
type="text"/>
</form>
</div>
)
}
}
Form = reduxForm({
form: 'PostEditor',
enableReinitialize: true,
})(Form);
Form = connect(
state => ({
initialValues: state.post.post,
enableReinitialize: true,
}),
)(Form)
export default Form;
在Redux的存储中,表单缩减器设置为状态。表单
,但无法访问
是否可以从减速器中获取值?尝试使用ReduxForm选择器之一
import { getFormValues } from 'redux-form';
const mapStateToProps = (state) => {
return {
PostEditor: getFormValues('PostEditor')(state)
}
}
这里有详细的文档:尝试使用一个ReduxForm选择器
import { getFormValues } from 'redux-form';
const mapStateToProps = (state) => {
return {
PostEditor: getFormValues('PostEditor')(state)
}
}
这里有详细的文档:要访问表单的值,请从redux表单导入以下选择器
import { formValueSelector } from 'redux-form';
然后使用要在MapStateTops中检索值的表单的名称调用该函数
这将返回一个函数,然后使用Redux存储的状态以及我们希望获取其值的字段的名称调用该函数
const mapStateToProps = (state) => {
return {
titleFieldValue: formValueSelector('PostEditor')(state, 'title')
}
}
如果我们希望检索多个字段,我们还可以在此函数调用中添加更多参数。比如说
formValueSelector('PostEditor')(state, 'title', 'name', 'otherField')
以下语法是“curried”函数的示例。这只是返回其他函数的函数的名称。如果您感兴趣,请阅读currying简介。要访问表单的值,请从redux表单导入以下选择器
import { formValueSelector } from 'redux-form';
然后使用要在MapStateTops中检索值的表单的名称调用该函数
这将返回一个函数,然后使用Redux存储的状态以及我们希望获取其值的字段的名称调用该函数
const mapStateToProps = (state) => {
return {
titleFieldValue: formValueSelector('PostEditor')(state, 'title')
}
}
如果我们希望检索多个字段,我们还可以在此函数调用中添加更多参数。比如说
formValueSelector('PostEditor')(state, 'title', 'name', 'otherField')
以下语法是“curried”函数的示例。这只是返回其他函数的函数的名称。如果你感兴趣,请阅读有关咖喱的介绍