我是ReactJs的初学者。在构建应用程序时遇到问题。
我的相关代码是

this.state={
  displaySocialInputs: false,
}


我使用按钮切换值。
该按钮运行良好,但无法理解按钮中使用的逻辑。

<button
  type="button"
  onClick={() => {
    this.setState(prevState => ({
      displaySocialInputs: !prevState.displaySocialInputs
    }));
  }}
  className="btn btn-light"
>
  Add Social Networks Links`enter code here`
</button>


我想问按钮如何知道值传递给enter code here的“ prevState”以更改状态值。我们没有传递任何价值。
希望你能理解这个问题。

最佳答案

您的代码中的以下片段:

prevState => ({
  displaySocialInputs: !prevState.displaySocialInputs
})


...是一个回调。本质上,您是在告诉框架“如果给我当前状态并将其命名为prevState,这就是我希望对其进行转换的方式”。

您可以这样认为:


最初,您创建组件并将displaySocialInputs: false设置为初始状态。该组件会记住这一点。
单击该按钮时,将调用setState。
setState检索当前状态并调用给定的回调,将状态作为prevState参数传递给您。


由于有了这种模式,您不必自己给它一个状态:框架会为您完成它。

关于javascript - 只是问一下Button中的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53179132/

10-12 22:20