我正在加載Redux窗體,並將initialValues作爲道具傳遞。然而,我需要重新格式化數據以符合我的表單名稱。例如,如果initialValues中作爲道具傳遞的數據是{name:'John',age:'32'},我想將其轉換爲{user :{姓名:'約翰',年齡:'32'}}。你如何實現它?你是否寫了一個reducer來完成這個工作,如果是,那麼你如何在組件加載時調用它?以縮減格式重新格式化初始值
謝謝。
我正在加載Redux窗體,並將initialValues作爲道具傳遞。然而,我需要重新格式化數據以符合我的表單名稱。例如,如果initialValues中作爲道具傳遞的數據是{name:'John',age:'32'},我想將其轉換爲{user :{姓名:'約翰',年齡:'32'}}。你如何實現它?你是否寫了一個reducer來完成這個工作,如果是,那麼你如何在組件加載時調用它?以縮減格式重新格式化初始值
謝謝。
當你通過道具時,你可以做到這一點。
const userData = { name: 'John', age: 32 }
...
<MyForm initialValues={{ user: userData }}/>
如果你需要一些更大的變化,你也可以通過一個函數來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
})
)