@KappyJS

Правильно ли обдумана логика SAP приложения?

Имеется 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)
}

Класс меняется только после обработчика нажатия, и тут я подумал. Может я вообще не так делаю?
Как тогда правильно, есть ли какие то правила? Может лучше вообще диспатчить , через общее состояние, которое я буду менять по клику на кнопку, а после коллбэком делать запрос в бд?
  • Вопрос задан
  • 345 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Правильно работать с состоянием, а не вычислять его по данным из DOM.
В хранении состояния форм в хранилище Redux нет особого смысла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы