【发布时间】:2020-06-12 02:35:18
【问题描述】:
我想知道我是否可以在同一个函数中多次使用 setState 挂钩。 比如像这样
import React, { useEffect, useState } from 'react';
function(props) {
const [color, setColor] = useState(0)
const [size, setSize]= useState(0)
const [weight, setWeight] = useState(0)
const onClickRandomButton = () => {
setColor(Math.random() * 10)
setSize(Math.random() * 10)
setWeight(Math.random() * 10)
}
return <div>
<button onClick = {onClickRandomButton}>random</button>
</div>
}
我已经测试过了,但它没有按预期工作。 使用钩子一次设置多个值,我应该怎么做? 谢谢
【问题讨论】:
-
useState部分在哪里? -
抱歉,打错了
-
conClickRandomButton的名字也是错字吗? -
代码按预期工作:codesandbox.io/s/dazzling-hill-1ypn7 ?
-
请记住,在 React 中设置状态是异步的。如果您尝试在同一个事件处理函数中对新值进行操作,则无法保证状态将完成更新。
标签: javascript reactjs react-hooks setstate