我是新來的反應,我可能缺乏正確的術語,以找到一個解決我的問題。它不是那麼難。更改檢查屬性(反應)
我建立一個簡單的應用程序,它會顯示一組問題,每次一個問題。回答完一個問題後,顯示下一個問題。
我有一個組件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個checkbo xes會再次被取消選中。目前他們還記得他們之前回答的問題。
的[如何在父組件使用Redux的深度嵌套子組件調用函數]可能的複製(http://stackoverflow.com/questions/37091627/how-to-invoke-a-function-in-parent-組件 - 從 - 深度嵌套的孩子組分) –