我是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/