我刚接触 React,可能缺乏正确的术语来解决我的问题。这不应该很难。
我正在构建一个简单的应用程序,显示一组问题,每次只显示一个问题。回答一个问题后,会显示下一个问题。
我有一个名为
除了一个问题以外,一切都运行正常:当显示下一个问题时,我希望所有3个复选框再次取消选中。当前,它们会记住先前回答的问题中的选中状态。
我正在构建一个简单的应用程序,显示一组问题,每次只显示一个问题。回答一个问题后,会显示下一个问题。
我有一个名为
Question
的组件,它呈现了 3 个复选框,每个复选框代表问题的一个可能 答案
。{this.props.question.answers.map((answer, index) => {
return (
<li className="Question__answer" key={answer.id}>
<label className="Question__answer-label">
<input
className="Question__answer-checkbox"
type="checkbox"
value={index}
onChange={this.props.setAnswer}
defaultChecked={false} />
{answer.answer}
</label>
</li>
...
<button className="Question__next" type="button" onClick={this.props.onNext} disabled={this.props.isDisabled}>
Next question
</button>
)
})}
在我的主组件Quiz
中,我这样调用组件:
<Question step={this.state.step} question={this.state.questions[this.state.step]} setAnswer={this.setAnswer} onNext={this.onNext} isDisabled={this.isDisabled()} />
onNext
是一个函数,它会增加this.state.step
以显示下一个问题:
onNext(event) {
this.setState({step: this.state.step + 1});
}
除了一个问题以外,一切都运行正常:当显示下一个问题时,我希望所有3个复选框再次取消选中。当前,它们会记住先前回答的问题中的选中状态。