Я делаю get
запрос на викторину api. Когда пользователь получит ответ правильно, будет показан следующий ответ.прозрачная коробка ввода при определенном состоянии реагирует
Все это хорошо работает, однако у меня возникли проблемы при попытке очистить поле ввода, когда пользователь правильно ответит. I read this earlier, и насколько я могу судить, он должен следовать той же логике.
Может ли кто-нибудь определить, что здесь не так?
var Quiz = React.createClass({
getInitialState: function() {
return {
question: '',
answer: '',
value: '',
score: 0
}
},
getData: function() {
$.get('http://jservice.io/api/random', function(data){
var response = data[0];
console.log(response)
this.setState({
question: response.question,
answer: response.answer
})
}.bind(this));
},
componentDidMount: function() {
this.serverRequest = this.getData()
},
checkAnswer: function(event) {
if(event.target.value.toLowerCase() === this.state.answer.toLowerCase()) {
this.setState({
score: this.state.score + 1,
value: ''
})
this.getData();
}
},
skipQuestion: function() {
this.getData();
},
render: function() {
var value = this.state.value
return (
<div>
<p>{this.state.question}</p>
<input type='text' value={value} onChange={this.checkAnswer}/>
<p onClick={this.skipQuestion}>New question</p>
<p>{this.state.score}</p>
</div>
)
}
});
Ваш ввод текста работает вообще? как прием ввода и отображение? Когда я скопировал, мне пришлось изменить код, чтобы он работал, и он также очищает, просто хочу убедиться, что у вас была такая же проблема, прежде чем отвечать на то, что я сделал – finalfreq