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”函数的示例。这只是返回其他函数的函数的名称。如果你感兴趣,请阅读有关咖喱的介绍