【发布时间】:2022-03-01 23:02:38
【问题描述】:
糟糕,我的朋友们,我在使用 setState 时遇到了这个“问题”,因为 setState 不是异步的,所以我不能按照我想要的方式使用它。我设置了该值,并在调用该函数以发送回该值时以“延迟”返回。 我该如何解决这个问题?
const [quantityProduct, setQuantityProduct] = useState<number>(0);
function addQuantity() {
var soma = Number(quantityProduct) + 1;
setQuantityProduct(soma);
sendProduct()
}
function sendProduct() {
console.log(quantityProduct)
}
【问题讨论】:
-
你想在函数 sendProduct 中使用
quantityProduct的更新值,是吗? -
将useEffect与quantityProduct的依赖一起使用
-
这不是关于 Typescript 的问题,而是关于 React 如何处理异步状态更新的问题。
-
@Andy,在 javascript 中可以使用这种语法,“ this.setState({ title: event.target.value }, function() { this.validateTitle(); });”在打字稿中我不能使用这种语法
-
@RodineiCirineu 这不是真的。您正在将基于类的状态语法与钩子语法进行比较。它与打字稿无关。
标签: javascript reactjs typescript react-tsx