0
我在網上找到關於React.js的教程,但我看到了導師在沒有setState()函數的情況下更改狀態的方式。我在這裏問這是否是一種好的做法。在React.js中設置狀態而不使用setState
構造:
constructor(props) {
super(props);
this.state = {
uid: uuid.v1(),
name: '',
answers: {
answer1: '',
answer2: '',
answer3: ''
},
isSubmitted: false
};
this.onSubmit = this.onSubmit.bind(this);
this.answerSelected = this.answerSelected.bind(this);
this.questionSubmitted = this.questionSubmitted.bind(this);
}
他更新狀態的方法是: -
answerSelected(event) {
let answers = this.state.answers;
if (event.target.name === 'answer1') {
answers.answer1 = event.target.value;
} else if (event.target.name === 'answer2') {
answers.answer2 = event.target.value;
} else if (event.target.name === 'answer3') {
answers.answer3 = event.target.value;
}
}
據我所知,應該作出反應,通過使用setState({answers: {answer1: event.target.value}})
設置狀態。我對嗎?什麼是更好的方法?