以redux-form格式重新格式化initialValues

时间:2016-07-07 18:07:10

标签: redux redux-form

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

感谢。

2 个答案:

答案 0 :(得分:0)

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

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

...

<MyForm initialValues={{ user: userData }}/>

答案 1 :(得分: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
  })
)