Reactjs 在React.js中设置状态而不使用setState

Reactjs 在React.js中设置状态而不使用setState,reactjs,Reactjs,我在网上找到了关于React.js的教程,但我看到了导师在没有setState()函数的情况下更改状态的方式。我在这里问这是否是一个好的做法 建造商: constructor(props) { super(props); this.state = { uid: uuid.v1(), name: '', answers: { answer1: '', answer2: '', answe

我在网上找到了关于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;
    }
}

据我所知,React应该使用
setState({answers:{answer1:event.target.value}})
来设置状态。我说得对吗?更好的方法是什么?

设置/更改react组件内的状态应始终使用setState,这是react建议的方法。唯一可以直接修改状态的地方是构造函数。阅读更多

也值得一读