Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React setState()不适用于无线电场handleInput方法_Javascript_Reactjs_Forms_Radio Button_React State Management - Fatal编程技术网

Javascript React setState()不适用于无线电场handleInput方法

Javascript React setState()不适用于无线电场handleInput方法,javascript,reactjs,forms,radio-button,react-state-management,Javascript,Reactjs,Forms,Radio Button,React State Management,我正在使用React应用程序中的一个广播提交方法 handleSelect = e => { const key = e.target.name; const value = e.target.id; this.setState({ [key]: value}); console.log(this.state); } 以下是有关的无线电领域: <div className="answer"> &l

我正在使用React应用程序中的一个广播提交方法

handleSelect = e => {
    const key = e.target.name;
    const value = e.target.id;
    this.setState({ [key]: value});
    console.log(this.state);
  }
以下是有关的无线电领域:

<div className="answer">
                      <Input type="radio"
                        id="day2AnswerA"
                        name="day2CorrectAnswer"
                        value={this.state.day2CorrectAnswer}
                        onChange={this.handleSelect}
                      />
这将是具有多个无线电字段的更大表单的一部分,所有字段都具有相同的
名称
属性,因此一次只能选择一个字段

我试图在用户选择一个无线字段后立即更新状态,例如,如果用户单击上面显示的无线字段,则我希望状态的
day2CorrectAnswer
属性立即更新为
day2AnswerA


为什么这不起作用?

我认为你应该更新检查输入的道具。无线电输入使用“已检查”属性显示或不显示已检查状态

我认为你应该更新检查输入的道具。无线电输入使用“已检查”属性显示或不显示已检查状态

查看您的输入,我可以看到一个循环状态问题-每个无线电输入的值不能只是状态值,它必须有一个实际值-可能是一个字符串值,如value=“the Big Blue Bear”为了确保输入得到控制,您要做的是检查状态,评估day2CorrectAnswer的状态值是否等于此输入的值。

查看您的输入,我可以看到一个循环状态问题-每个无线电输入的值不能只是状态值,而必须具有实际值-可能是value=“The Big Blue Bear”之类的字符串值,要确保输入受控,您要做的是,如果day2CorrectAnswer的状态值等于此输入的值,则对其进行检查状态求值

  state = {
    rocketName: '',
    className:'',

    day2QuestionName: '',
    day2ReviewText: '',
    day2QuestionText: '',
    day2AnswerA: '',
    day2AnswerB: '',
    day2AnswerC: '',
    day2AnswerD: '',
    day2CorrectAnswer: '',
  }