@kopFFFF

Как передать значение активной радиокнопки в массив для вывода на экран?

Привет всем! Я новичок в React и работаю над созданием простенького Quiz-виджета, но столкнулся с проблемой: нужно добавлять в массив ответов результат, который хранится в выбранной радиокнопке. Пишу на ReactJS. Заранее благодарен за помощь. Пример кода:

class Results extends React.Component {            
  constructor(props) {                          
    super(props);
    this.state = {
      isStarting: false
    }
  }
 
  
  checkRes = () => {
    this.setState({
      isStarting: true
    })
  }
  render = () => {
    const { isStarting } = this.state;
    });
    
    if (!isStarting) {                          
      return (
        <div>
          <h1>Результаты голосования:</h1>
          <p>.........</p>                                 // Answers massive
          <button type="submit" onClick={this.checkRes}>Начать заново</button>
        </div>
      );
    }
    return <Question1 />                  
  }
}
 
 
 
 
class Question1 extends React.Component {
  constructor (props) {
    super(props);
    this.state = {
      isStarting: false,
      option: 'Выберите ответ'                                   // Next time change this parameter
    }
  }
  
  ansQ1 = () => {                               
    this.setState({
      isStarting: true
    })
  }
 
 
  handleRadioChange(event) {
        this.setState({option: event.target.value});
    }
 
 
  render = () => {
 
    const { isStarting } = this.state;
    if (!isStarting) {
      return (
        <div>           
          <p>Какое мороженое вы предпочитаете?</p>
          <p>Ваш выбор: {this.state.option}</p>
 
            <input
                    name="var1"
                      type="radio"
                    value="Пломбир"
                    checked={this.state.option == 'Пломбир'}
                    onChange={this.handleRadioChange.bind(this)}
                /><span>Пломбир</span><br />
 
                  <input
                    name="var2"
                    type="radio"
                    value="Шоколадное"
                    checked={this.state.option == 'Шоколадное'}
              onChange={this.handleRadioChange.bind(this)}
                  /><span>Шоколадное</span><br />
 
            <input
                    name="var3"
                    type="radio"
                    value="Фисташковое"
                    checked={this.state.option == 'Фисташковое'}
              onChange={this.handleRadioChange.bind(this)}
                  /><span>Фисташковое</span><br />
 
            <button type="submit" onClick={this.ansQ1}>Далее</button>
              </div>
      );
    }
    return <Results />
  }
 
class App extends React.Component {
  render () {
    return (
      <Question1 />
    );
  }
}
export default App;
  • Вопрос задан
  • 416 просмотров
Пригласить эксперта
Ответы на вопрос 1
@VeniVidiVici7
Комментировать
Ваш ответ на вопрос

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

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