Я использую Redux-форму с полями в них, где каждое поле содержит пользовательские компоненты dropDownList.Я хочу использовать formReducer.plugin
, чтобы очистить значение первого раскрывающегося списка при обновлении второго раскрывающегося списка, но я не могу заставить его работать.
Форма определяется следующим образом:
<form onSubmit={someMethod}>
<div>
<Field
name="input1"
title="Input 1"
type="text"
component={DropDownComponent1}
</Field>
</div>
<div>
<Field
name="input2"
title="Input 2"
type="text"
component={DropDownComponent2}
</Field>
</div>
</form>
DropDownComponent1
и DropDownComponent2
- компоненты раскрывающегося списка без сохранения состояния, которые просто содержат тег <select>
.Вот как они выглядят:
export const DropDownComponent1 = ({ input, meta }) => {
return (
<div>
<select {...input} type="text" onChange={input.onChange}>
<option>Option A</option>
<option>Option B</option>
</select>
</div>
);
}
export default DropDownComponent1;
Моя проблема в том, что formReducer
в Redux-Form работает нормально, но когда я включаю formReducer.plugin({ /* code */ })
, он перестает работать.Он даже перестает обновлять значение двух выпадающих списков, когда в них выбран параметр.Итак, это работает (по моему reducer.js
):
export default combineReducers({
/* ... other reducers */,
form: formReducer
})
Но это не работает:
export default combineReducers({
/* ... other reducers */,
form: formReducer.plugin({
myForm: (state, action) => {
/* code to clear value of dropDownList1 if dropDownList2 changes */
}
})
})
На самом деле, когда я начинаю использовать formReducer.plugin
, значениелюбого из компонентов dropDownList перестает обновляться при выборе их параметров.
Я неправильно использую formReducer.plugin
?
Редактировать: отредактированный заголовок