Имеется SAP, необходимо, чтобы была форма заполнения данных, и компонент результата на этой же странице, динамически обновляющийся в зависимости введенных данных.
Форма : Тут имеются динамические вопросы, которые приходят с бд. На каждый отвеченный вопрос идет запрос опять в бд, где приходят данные для компонента результат.
Я только добрался до redux, и еще не знаю всех возможностей, поэтому прошу направить на верную сторону.
Я делаю так примерно. Каждый блок вопроса в форме имеет свой шаблон
const items = requirements.map((item)=> <RadioButtons handlerFormClick={this.handlerFormClick} dispatchRequires={this.dispatchRequires} key={item.cli_id} id={item.cli_id} name={item.cli_name} desc={item.desc}/>)
Внутри находится лэйбл с вопросом и 2 кнопки радио, да или нет.
На клик : кнопки вызывается свой setState, и коллбэком выполняется родительская функция
onRadioBtnClick(rSelected) {
this.setState({ rSelected },this.props.handlerFormClick());
}
Далее я просто хочу собрать все кнопки с классом активные(нажатые), сверить inner.text = 'Да'
сформировать массив с id и отправить на сервер, где уже получить результат.
Но
handlerFormClick(){
console.log( this.formRef.current[0].className)
}
Класс меняется только после обработчика нажатия, и тут я подумал. Может я вообще не так делаю?
Как тогда правильно, есть ли какие то правила? Может лучше вообще диспатчить , через общее состояние, которое я буду менять по клику на кнопку, а после коллбэком делать запрос в бд?