【问题标题】:Access a Field value with Redux-form - dependent Fields使用 Redux 形式的依赖字段访问字段值
【发布时间】:2017-01-18 19:37:05
【问题描述】:

我有一个带有 redux-form HOC 的装饰组件,我想从装饰组件访问字段值以启用/禁用和隐藏/显示其他字段。最好的方法是什么?

我尝试使用 Fields 组件在依赖字段中进行操作,但这会损害装饰组件的性能,因为它会引发无用的重新渲染

也可以用redux连接修饰组件,使用redux-form提供的formValueSelector,但我想知道是否有更好的方法来访问字段值。

【问题讨论】:

    标签: reactjs redux redux-form


    【解决方案1】:

    表单选择器和字段相关值在here 中进行了描述。解决方案基于getFormValues

    import React from 'react';
    import { connect } from 'react-redux';
    import { reduxForm, getFormValues } from 'redux-form';
    
    import FormComponent from './form.component';
    
    export const FormContainer = props => {
      const submitForm = (formValues) => {
        console.log('submitting Form: ', formValues);
      }
    
      return (
        <FormComponent
          formValues={props.formValues}
          change={props.change}
          onSubmit={submitForm}
          handleSubmit={props.handleSubmit}
        />
      );
    }
    
    const mapStateToProps = state => ({
      formValues: getFormValues('my-very-own-form')(state),
    });
    const formConfiguration = {
      form: 'my-very-own-form',
    }
    
    export default connect(mapStateToProps)(
      reduxForm(formConfiguration)(FormContainer)
    );
    

    在你的 formComponent 中,你可以从 props 中获取 formValues:

    export const FormComponent = ({ handleSubmit, onSubmit, formValues }) => {
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 2020-11-02
      • 1970-01-01
      相关资源
      最近更新 更多