私のアプリにはたくさんのフォームがあります。私は親還元剤の下でそれぞれのための単一のフォーム還元剤を作り、それらを組み合わせた。私はgetFormState
を使用している彼らのデータをフェッチするために、すべてがフォームの状態側をフェッチするには大丈夫ですが、すべての還元型のレデューサーで複製された状態のアクティブなフォームです! 各redux-formアクションは、すべてのフォームに適用されます。redux-form getFormState副作用
私は全体的な状況を提示できることをあなたと一緒にすべてのコードを共有することができるのか分かりません。私は、ところで、ここでいくつかのコードを共有してみてください。
これは私のサインアップフォームです:
SigninForm = reduxForm({
form: 'signin',
validate,
getFormState: ({ auth }) => auth.signin.form
})(SigninForm)
サインアップ減速
import { combineReducers } from 'redux'
import { reducer as reduxFormReducer } from 'redux-form'
const signin = combineReducers({
error,
isLogging,
form: reduxFormReducer
})
export default signin
とフィルタの形式:
export default compose(
connect(null, { ...actions }),
reduxForm({
form: 'filters',
destroyOnUnmount: false,
initialValues: {
pool: 'either',
open_house: false,
listing_statuses: {
...activeStatuses
},
property_subtypes,
minimum_sold_date: '3', // unit is month but it need to timestamp
minimum_bedrooms: 'any',
minimum_bathrooms: 'any',
minimum_parking_spaces: 'any'
},
getFormState: ({ search }) => search.filters.form
}),
withHandlers({
onSubmitHandler: ({ submitFiltersForm }) => values => {
submitFiltersForm(values)
}
})
)(Filters)
と私のルートを減速機:
const appReducer = combineReducers({
socket,
user,
auth,
brand,
search,
routing: routerReducer,
listing: createNamedWrapperReducer(listing, 'LISTING')
})
export default (state, action) => appReducer(state, action)
P.S:ルートレデューサーの単体レデューサーを使用せずに使用すると、すべてがうまく機能します。getFormState
OS: Mac, node: 8.3.0, react: 15.4.2, redux: 3.6.0, redux-form: 7.0.0, browser: 60.0.3112.101 (Official Build) (64-bit)
コード関連コードをご記入ください –
@RIYAJKHAN私はそれを行いました。 – Naser