javascript - react : Code Explanation for "PrevState" and "=>"

标签 javascript reactjs

我对 React 很陌生,并尝试理解更好的 Java 脚本代码。

我使用下面的代码并且它有效:基本上,该函数采用“描述”的先前状态,并在用户输入内容时使用新值更新“描述”。

但是,我不太明白代码中是如何完成的,我希望得到解释(特别是关于“=>”和“PrevState”以及两者的相互作用)。

onChangeDescription(e) {
    const description = e.target.value;

    this.setState(prevState => ({
      currentTutorial: {
        ...prevState.currentTutorial,
        description: description
      }
    }));
  }

我还想用 () => console.log(this.state)) 记录用户输入但我没有找到正确的“位置”将其插入到上面的函数中。

最佳答案

React 中的

setState 是一个异步过程,因此当您的新状态依赖于先前状态的值时,React 建议使用此 callback 格式,您可以在其中获得状态中的最后一个现值。

关于控制台,请使用下面

    this.setState(prevState => ({
      currentTutorial: {
        ...prevState.currentTutorial,
        description: description
      }
    }), () => console.log(this.state)));

在这里阅读更多相关信息 https://reactjs.org/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous

关于javascript - react : Code Explanation for "PrevState" and "=>",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61615214/

相关文章:

reactjs - React IE11 异步导致 Expected } 错误

javascript - 选择列表的默认选定选项有问题吗?

javascript - 在 React 中使用类名、ID 和数据属性时的最佳实践是什么

javascript - JSON 循环对象类型 Reviver

javascript - 如何从 Google Sheet App Script 返回#N/A?

javascript - 在查询上下文或传递的 Prop 中找不到 "client"

javascript - 如何在 react 中设置侧边栏和内容高度?

javascript - 根据数组的长度为 FormData 中的 .append 创建一个函数。

javascript - 我只想淡入正方形为空白时单击的图像

javascript - JSON.parse( ) 的数值变化