我有一个 onClick 函数来删除一个项目。
当用户单击该按钮时,状态deletedItem
将被分配该项目。
这是代码:
<button
type="button" class="btn btn-sm btn-black white-text"
data-toggle="tooltip" data-placement="top" title="Remove item"
onClick={
async () => {
await setDeletedItem(item.name);
console.log(deletedItem);
deleteCartItem()
}
}>x</button>
但单击按钮后状态不会立即更改。这是一值延迟,这使得我要删除的项目如此不准确。我还有其他异步/等待函数,并使用类在同一个 React 中设置状态,但它们工作得很好。这有什么问题或者如何解决这个问题吗?
为了async-await
要正确工作,您需要将它们与返回 Promise 的函数一起使用。
由于来自react-hooks的状态更新器函数不返回承诺,因此它可能工作也可能不起作用。类组件中的 setState 函数也是如此
这里的解决方案是利用在状态更改时运行的 useEffect,您可以在此方法中调用响应状态更改所需调用的任何函数
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)