【问题标题】:Reformatting initialValues in redux-form以 redux 形式重新格式化 initialValues
【发布时间】:2016-11-10 04:21:44
【问题描述】:

我正在加载 Redux 表单,并将 initialValues 作为道具传递。但是,我需要重新格式化数据以适合我的表单名称..例如,如果作为道具传递的 initialValues 中的数据是 {name: 'John', age: '32'},我想将其转换为 {user :{姓名:'约翰',年龄:'32'}}。你如何实现它?您是否编写了一个 reducer 来完成此操作,如果是,那么您如何在组件加载时调用它?

谢谢。

【问题讨论】:

    标签: redux redux-form


    【解决方案1】:

    你可以在传递道具时这样做。

    const userData = { name: 'John', age: 32 }
    
    ...
    
    <MyForm initialValues={{ user: userData }}/>
    

    【讨论】:

      【解决方案2】:

      如果你需要一些更大的改变,你也可以传递一个函数给initialValues:

      const getInitialValues = (propValues) => {
        const initialValues = {};
      
        // your function to format the values here
      
        return initialValues;
      };
      
      @reduxForm(
        {
          form: 'myForm',
          fields: formFields,
        },
        state => ({
          initialValues: getInitialValues(state.userData),
          form: state.form
        })
      )
      

      【讨论】:

        猜你喜欢
        • 2016-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-28
        • 2021-12-07
        • 2021-07-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多