У меня есть много форм и вы хотите постепенно, один за другим, перенести мои формы с 5 до 6 версий редукционной формы. Я выяснил, как управлять зависимостями, но как я могу объединить две версии редукторов с одним ключом магазина form
?Как я могу объединить две версии редукционной формы в одном магазине?
2
A
ответ
3
Вы должны иметь возможность использовать свойство конфигурации getFormState
при подключении формы к сокращению и указывать ее на соответствующий ключ в дереве состояний.
При комбинировании редуктора, включает в себя обе версию, но в разных тональностях (я не знаю, как вы управляете зависимостью, но вы должны получить тэки):
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
и в конечном итоге вы сможете удалить старый редуктор.
Эй, это никогда не было так, как я считал, кто-то делает, но это правильный ответ. –