Javascript Firestore数据库仅每隔一段时间工作一次

Javascript Firestore数据库仅每隔一段时间工作一次,javascript,reactjs,typescript,firebase,google-cloud-firestore,Javascript,Reactjs,Typescript,Firebase,Google Cloud Firestore,我的页面上有一个按钮,看起来像这样 <Button disabled={loading} type="submit" className="w-100 text-center mt-3" onClick={() => { firebase .firestore() .collection("users") .doc("123") .set({ test: 123})

我的页面上有一个按钮,看起来像这样

<Button
disabled={loading}
type="submit"
className="w-100 text-center mt-3"
onClick={() => {
    firebase
    .firestore()
    .collection("users")
    .doc("123")
    .set({ test: 123})
    .then(() => {
        setSuccessAlert("Updated user");
    })
    .catch(() => {
        setErrorAlert("Could not update user");
    });
}}
>
    Add user
</Button>
{
火基
.firestore()
.收集(“用户”)
.doc(“123”)
.set({test:123})
.然后(()=>{
setSuccessAlert(“更新用户”);
})
.catch(()=>{
setErrorAlert(“无法更新用户”);
});
}}
>
添加用户
它使用引导和类型脚本,如果这可能给你一个错误的提示

如果我在onclick函数中放置一个控制台日志,它将始终记录它,但是在上面的示例中,我需要按两次它才能工作。我已经测试过,不仅仅是我不耐烦,我在再次按下它之前已经等了五分钟多,但在我第二次按下它的那一刻,它就起作用了


不管怎样,如果你知道我可能做错了什么,请帮助我。当我为
firebase.firestore().collection(“用户”)声明一个变量而不是直接调用它时,Im丢失了

现在代码如下所示:

const db = firebase.firestore().collection("users");

db.doc("123")
    .set({ test: 123})
    .then(() => {
        setSuccessAlert("Updated user");
    })
    .catch(() => {
        setErrorAlert("Could not update user");
    });

setSuccessAlert
code看起来像什么?它是一个useState钩子。在哪里/如何使用
successAlert
状态?我想出了一个解决方案。这和警报无关,我觉得很奇怪,我很好奇为什么会这样。我很高兴你找到了解决方案,谢谢分享。