Есть приложение для учета и мониторинга работы сотрудников. При выборе задания, открывается форма (350-1000 полей), все это разворачивается и отображается постепенно, когда мы выбираем определенные действия и заполняем поля.
Если мне нужно вернуть часть стейтов к первоначальному состоянию для отдельной ветки стейтов, то как мне лучше это сделать и как правильно организовать сами стейты?
Пример вилки развития событий
<select
className={"form-control"}
name={field}
value={value}
onChange={e=>{
//onChange(value, name) это redux action задающий стейты
onChange(e.target.value, e.target.name)
if(e.target.value==='F2F') onChange(true, 'openF2F') //Вот тут как сделать через if /else или
//onCollapse('openF2F', true) думаю можно сделать action в котором будут происходить изменения стейтов
//Хорошая ли это идея?
else { //Можно разбить по группам
onCollapse('openF2F', false)
onCollapse('openWhereOther', false)
...//Можно по одному, так нагляднее и быстрее, но кода больше на одной странице
onChange('','services_ff')
onChange('','services_ff_other')
...
}
}}
>
<option key={99} value=''>Select</option>
{howList.map((item, i)=>{return <option key={i} value={item}>{item}</option>})}
</select>
Сами стрейты имеет ли смысл по веткам разбивать или это лишнее
const initialState = {
// Ветки развития событий
facilities: ['Select'],
showModal: false,
modalBodyContainer: '',
openF2F: false,
openWhereOther: false,
openRelPat: false,
openECFOther: false,
openMainOptions: false,
// Сами стейты 350-1000 штук на форму
loc: '',
engagement_services: '',
services_ff: '',
services_ff_other: '',
ps_target: '',
relationship: '',
ps_relationship_other: '',
...
}