如何在一个商店中合并两个版本的 redux-form?
How can I combine two versions of redux-form in one store?
我有很多表单,想逐步将我的表单从 5 版本的 redux-form 迁移到 6 版本。
我已经弄清楚如何管理依赖关系,但如何将两个版本的 reducer 与一个存储键结合起来 form
?
在将表单连接到 redux 并将其指向状态树中的相应键时,您应该能够使用 getFormState
配置 属性。
合并 reducer 时,包括两个版本,但键不同(我不确定你是如何管理依赖关系的,但你应该明白了):
import { createStore, combineReducers } from 'redux'
import { reducer as formReducerV5 } from 'redux-form-v5'
import { reducer as formReducer } from 'redux-form'
const reducers = {
// ... your other reducers here
form: formReducer,
formV5: formReducerV5
}
const reducer = combineReducers(reducers)
const store = createStore(reducer)
然后使用 v5 减速器覆盖默认的 form
键:
const yourFormContainer = reduxForm({
form: 'myForm'
getFormState: state => state.formV5
})(YourForm);
已经迁移到 v6 的表单只能使用默认的 getFormState
行为,最终您将能够删除旧的 reducer。
我有很多表单,想逐步将我的表单从 5 版本的 redux-form 迁移到 6 版本。
我已经弄清楚如何管理依赖关系,但如何将两个版本的 reducer 与一个存储键结合起来 form
?
在将表单连接到 redux 并将其指向状态树中的相应键时,您应该能够使用 getFormState
配置 属性。
合并 reducer 时,包括两个版本,但键不同(我不确定你是如何管理依赖关系的,但你应该明白了):
import { createStore, combineReducers } from 'redux'
import { reducer as formReducerV5 } from 'redux-form-v5'
import { reducer as formReducer } from 'redux-form'
const reducers = {
// ... your other reducers here
form: formReducer,
formV5: formReducerV5
}
const reducer = combineReducers(reducers)
const store = createStore(reducer)
然后使用 v5 减速器覆盖默认的 form
键:
const yourFormContainer = reduxForm({
form: 'myForm'
getFormState: state => state.formV5
})(YourForm);
已经迁移到 v6 的表单只能使用默认的 getFormState
行为,最终您将能够删除旧的 reducer。