我是 React 的新手,可能缺乏正确的术语来找到我的问题的解决方案。不可能那么难。
我正在构建一个简单的应用程序,它显示一组问题,一次一个问题。回答完一个问题后,会显示下一个问题。
我有一个Question
呈现 3 个复选框的组件,每个复选框代表一个可能answer
的问题。
{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 个复选框。目前,他们记得之前回答的问题中的选中状态。