在React JS中,我在函数中更新状态,但不能在同一函数中使用更新状态

时间:2018-02-20 03:57:41

标签: reactjs

我有一个onChange输入,其中call I通过调用函数enteredTextHandler来更新状态和输入值。在同一个函数中,我尝试根据文本的长度调用for循环,但是第一次运行它时它不起作用,只有第二次+次。例如,如果我在输入字段中输入“AB”,一旦我输入“B”,console.log('inputText: ', this.state.inputText)就会显示“A”。如果我然后键入“C”它将更新为“AB”但不显示C.这会混淆以下for循环。任何帮助表示赞赏:

  enteredTextHandler = (event) => {
    this.setState({inputText: event.target.value})
    console.log('inputText: ', this.state.inputText)
    let charArray = []
    for(let i=0; i<this.state.inputText.length; i++){
      charArray.push({
      letter: this.state.inputText[i],
      key: i})
    }
    console.log('charArrar: ', charArray)
    this.setState({stateCharArray: charArray})
  }

0 个答案:

没有答案