1

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

谢谢。

4

2 回答 2

0

如果您需要一些更大的更改,您还可以将一个函数传递给 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-07-08T12:52:29.513 回答
0

您可以在传递道具时执行此操作。

const userData = { name: 'John', age: 32 }

...

<MyForm initialValues={{ user: userData }}/>
于 2016-07-08T08:05:01.590 回答