Javascript 无法重置简单的单选按钮-React JS

Javascript 无法重置简单的单选按钮-React JS,javascript,html,reactjs,Javascript,Html,Reactjs,我正在写一个琐事应用程序。当我选择一个答案时,我会检查它是否正确,然后马上得到一个新问题。问题是,当所选单选按钮的答案错误时,我无法让React渲染该按钮 我正在从一个JSON文件生成一些琐碎的问题。我必须动态地进行输入和标签标记。这就是我到目前为止所做的: 当选定的问题正确时,我可以得到下一个问题,但它不会显示任何选定的收音机。我的isRadioChecked以false开头。我还尝试了checked={this.state.isRadioChecked==object} 下面,我检查单击的收

我正在写一个琐事应用程序。当我选择一个答案时,我会检查它是否正确,然后马上得到一个新问题。问题是,当所选单选按钮的答案错误时,我无法让React渲染该按钮

我正在从一个JSON文件生成一些琐碎的问题。我必须动态地进行输入和标签标记。这就是我到目前为止所做的:

当选定的问题正确时,我可以得到下一个问题,但它不会显示任何选定的收音机。我的isRadioChecked以false开头。我还尝试了checked={this.state.isRadioChecked==object}

下面,我检查单击的收音机是否是正确答案,以及我的渲染方法

我真的很感谢你的帮助。谢谢

[编辑]

谢谢你,这是我第一次尝试,事实上我最后一次尝试都是直接从这里开始的。我认为问题在于我正在使用动态数据创建收音机

不管怎么说,我确实把它改成了以前的样子,尽管日志显示了所选的答案,但我仍然没有看到所选的收音机

 setUpAnswers() {
    let tempAnswerArray = this.mergeAnswers(this.state.currentQuestionNumber);
    tempAnswerArray = tempAnswerArray.map((object, i) => renderHTML(object));
    console.log(tempAnswerArray[0]);

    tempAnswerArray = tempAnswerArray.map((object, i) => (
      <div key={i}>
        <input
          type="radio"
          name="answers"
          checked={this.state.selectedAnswer === object}
          onChange={this.handleOptionChange}
          id={object}
          value={object}
        />
        <label htmlFor={object}>{object}</label>
      </div>
    ));

    this.setState({
      answerArray: tempAnswerArray
    });
  }
  //*************************************************** */
  handleOptionChange = changeEvent => {
    this.setState(
      {
        selectedAnswer: changeEvent.target.value
      },
      () => {
        console.log(this.state.selectedAnswer);
      }
    );
  };
您正在将this.state.isRadioChecked状态分配给所有单选按钮,如checked={this.state.isRadioChecked}。因此,所有单选按钮将同时被选中或取消选中

相反,您可以使用state.selectedAnswer更新单选按钮的checked属性。像这样的-

checked={this.state.selectedAnswer === object}
这里介绍了一篇关于如何创建单选组的好文章-

您正在将this.state.isRadioChecked状态分配给所有单选按钮,如checked={this.state.isRadioChecked}。因此,所有单选按钮将同时被选中或取消选中

相反,您可以使用state.selectedAnswer更新单选按钮的checked属性。像这样的-

checked={this.state.selectedAnswer === object}
这里介绍了一篇关于如何创建广播组的精彩文章-