Redux-Form 动态创建N个表单
Redux-Form Dynamically create N forms
我们正在处理一个案例,我需要根据从后端获取的数据构建 N 个表单。
除初始值不同外,所有表格都相同。
我面临的主要问题是我需要使用表单名称将 reducer 插入表单 - 例如,以下示例显示了我们当前如何使用表单名称将 reducer 插入表单 SHIPPING_ADDRESS_FORM_NAME
:
import { reducer as formReducer } from 'redux-form';
const addressReducerPlugin = (state, action) => {
switch (action.type) {
case CHANGE:
return action.meta.field !== 'country'
? state
: { ...state, values: { ...state.values, state: '' } };
default:
return state;
}
};
export default formReducer.plugin({
[SHIPPING_ADDRESS_FORM_NAME]: addressReducerPlugin,
});
有没有办法动态地创建N个单独的表单,或者我是否需要创建一个包含我的N 个表单并对其进行索引?
非常感谢。
如果您真的想为所有送货地址单独使用独立的表格(而不是管理 an array of addresses 的表格),您可以在装饰它们时将唯一名称传递给 reduxForm()
。
reduxForm({
form: 'shippingAddress0'
})(AddressForm)
完全有效。
有帮助吗?
我们正在处理一个案例,我需要根据从后端获取的数据构建 N 个表单。
除初始值不同外,所有表格都相同。
我面临的主要问题是我需要使用表单名称将 reducer 插入表单 - 例如,以下示例显示了我们当前如何使用表单名称将 reducer 插入表单 SHIPPING_ADDRESS_FORM_NAME
:
import { reducer as formReducer } from 'redux-form';
const addressReducerPlugin = (state, action) => {
switch (action.type) {
case CHANGE:
return action.meta.field !== 'country'
? state
: { ...state, values: { ...state.values, state: '' } };
default:
return state;
}
};
export default formReducer.plugin({
[SHIPPING_ADDRESS_FORM_NAME]: addressReducerPlugin,
});
有没有办法动态地创建N个单独的表单,或者我是否需要创建一个包含我的N 个表单并对其进行索引?
非常感谢。
如果您真的想为所有送货地址单独使用独立的表格(而不是管理 an array of addresses 的表格),您可以在装饰它们时将唯一名称传递给 reduxForm()
。
reduxForm({
form: 'shippingAddress0'
})(AddressForm)
完全有效。
有帮助吗?