连接值更新时表单不更新(Redux表格)

时间:2017-12-10 23:26:23

标签: reactjs redux react-redux redux-form

我正在使用React和Redux Form构建表单。我使用formValueSelector连接到几个输入字段。但是,当我在UI中更新这些输入字段时,不会重新呈现表单。我的代码如下所示:

// HelpForm.jsx

import React from 'react';
import { connect } from 'react-redux';
import { reduxForm, formValueSelector } from 'redux-form';

import CategorySelectBlock from 'apps/help_form/components/CategorySelectBlock';

const selector = formValueSelector('help_form');

const mapStateToProps = state => ({
    category: selector(state, 'category'),
    subcategory: selector(state, 'subcategory')
});

class HelpForm extends React.Component {
    render() {
        const {
            category,
            subcategory
        } = this.props;

        console.log('Rendering HelpForm');
        console.log('category:', category);
        console.log('subcategory:', subcategory);

        return (
            <form id="helpform">
                <CategorySelectBlock
                    category={category}
                    subcategory={subcategory}
                />
            </form>
        );
    }
}

const ReduxHelpForm = reduxForm({
    form: 'help_form'
})(HelpForm);

export default connect(
    mapStateToProps
)(ReduxHelpForm);

我可以从我的控制台日志中看到,即使在为categorysubcategory字段选择新值后,此HelpForm组件也只渲染一次(这些字段在{{1}中定义} component)。

我做错了什么,或误解了CategorySelectBlock的工作原理?任何指导都将非常感谢。谢谢!

1 个答案:

答案 0 :(得分:1)

我明白了。我没有通过我的自定义输入类型传递onChange属性。