我们正在处理一个案例,我需要根据从后端获取的数据构建N个表单。
除初始值外,所有表格都相同。
我面临的主要问题是我需要使用表单名称将reducer插入表单 - 例如,以下示例显示了我们当前如何使用表单名称SHIPPING_ADDRESS_FORM_NAME
使用表单插入reducer:
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)
完全有效。
这有帮助吗?