我有一个基本上执行以下操作的 buttonClick:
function func() {
const [bool, setBool] = useState();
const [data, setData] = useState({});
useEffect(()=>{
if(bool) {
setData({bool: true})
} else {
setData({bool: false})
}
}, [bool]);
onClick=(evt)=>{
setBool(true);
sendToDb(data);
}
}
我知道 useState 是异步的。有没有办法让我可以调用发送到数据库,直到设置数据的 useEffect 完成?
答案 0 :(得分:0)
只需使用另一个 useEffect 来发送您的数据。
function func() {
const [bool, setBool] = useState();
const [data, setData] = useState({});
useEffect(()=>{
if(bool) {
setData({bool: true})
} else {
setData({bool: false})
}
}, [bool]);
useEffect(()=>{
sendToDb(data);
}, [data]);
onClick=(evt)=>{
setBool(true);
}
}