我有很多表单,并希望逐步将我的表单从5版本迁移到6版本的redux-form。
我已经想出了如何管理依赖项,但是如何将两个版本的reducer与一个商店密钥form
结合起来?
答案 0 :(得分:3)
在将表单连接到redux时,您应该能够使用getFormState
config属性,并将其指向状态树中的相应键。
组合reducer时,包括两个版本但是在不同的键上(我不确定你是如何管理依赖项但是你应该得到jist):
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 reducer覆盖默认的form
键:
const yourFormContainer = reduxForm({
form: 'myForm'
getFormState: state => state.formV5
})(YourForm);
已迁移到v6的表单只能使用默认的getFormState
行为,最终您将能够删除旧的reducer。