【问题标题】:Form not updating when connected value is updated (Redux Form)更新连接值时表单不更新(Redux Form)
【发布时间】:2017-12-10 23:26:23
【问题描述】:

我正在使用 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);

我可以从控制台日志中看到此 HelpForm 组件仅呈现一次,即使在我为 categorysubcategory 字段(这些字段在 CategorySelectBlock 组件中定义)选择了新值之后也是如此。

我是做错了什么,还是误解了formValueSelector 的工作原理?任何指导将不胜感激。谢谢!

【问题讨论】:

    标签: reactjs redux react-redux redux-form


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2016-08-10
      • 2017-02-15
      • 2023-03-13
      • 2016-12-17
      • 2018-02-09
      相关资源
      最近更新 更多