我正在加载 Redux 表单,并将 initialValues 作为道具传递。但是,我需要重新格式化数据以适合我的表单名称..例如,如果作为道具传递的 initialValues 中的数据是 {name: 'John', age: '32'},我想将其转换为 {user :{姓名:'约翰',年龄:'32'}}。你如何实现它?您是否编写了一个 reducer 来完成此操作,如果是,那么您如何在组件加载时调用它?
谢谢。
我正在加载 Redux 表单,并将 initialValues 作为道具传递。但是,我需要重新格式化数据以适合我的表单名称..例如,如果作为道具传递的 initialValues 中的数据是 {name: 'John', age: '32'},我想将其转换为 {user :{姓名:'约翰',年龄:'32'}}。你如何实现它?您是否编写了一个 reducer 来完成此操作,如果是,那么您如何在组件加载时调用它?
谢谢。
如果您需要一些更大的更改,您还可以将一个函数传递给 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
})
)
您可以在传递道具时执行此操作。
const userData = { name: 'John', age: 32 }
...
<MyForm initialValues={{ user: userData }}/>