Я хочу изменить значение для клавиши hasSubmit
, как в разделе "Первый код". Я знаю, что это не рекомендуется. Но второй код является асинхронным, и я не хочу использовать функцию обратного вызова setState
.
- В чем разница
this.state
иsetState
? - Можно ли сразу изменить значение состояния
hasSubmit
?
Первый код:
this.state.hasSubmit = false this.setState({}) //Code that will use `hasSubmit`.
Второй код:
this.setState({ hasSubmit: false, }); //Code that will use `hasSubmit`.
ADD:
Сценарий таков:
hasSubmit
установленfalse
вgetInitialState()
.hasSubmit
изменится наfalse
, когда я нажму кнопкуsubmit
.hasSubmit
при отправке будет изменен наtrue
.
Первый щелчок submit
не имеет проблем и hasSubmit
будет установлен true
.
Но второй щелчок submit
будет ошибочным, используя Second asynchronous code
, потому что hasSubmit
по-прежнему true
, а First Code
может решить проблему.