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)

完全有效。

有帮助吗?