Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 必须按两次提交才能调用firebase函数_Javascript_Firebase_React Native_Google Cloud Firestore_Google Cloud Functions - Fatal编程技术网

Javascript 必须按两次提交才能调用firebase函数

Javascript 必须按两次提交才能调用firebase函数,javascript,firebase,react-native,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,React Native,Google Cloud Firestore,Google Cloud Functions,我是firebase的新手。我正在尝试将数据更新到我的firebase firestore数据库 问题:每当我使用“提交”按钮提交表单时,我必须按下两次才能使其作用于firestore功能[尽管它确实执行console.log功能] 理想行为:我应该按一下在线提交按钮 handleSubmit(){ console.log(this.state); fb.firestore().collection("businessDetails"

我是firebase的新手。我正在尝试将数据更新到我的firebase firestore数据库

问题:每当我使用“提交”按钮提交表单时,我必须按下两次才能使其作用于firestore功能[尽管它确实执行console.log功能]

理想行为:我应该按一下在线提交按钮

    handleSubmit(){   
            console.log(this.state);
            fb.firestore().collection("businessDetails").add({
                category: this.state.bCategory,
                description: this.state.bDescription,
                name: this.state.bName,
                since: this.state.bEstablished,
                phone: this.state.bPhone,
                uid: this.state.uid
            })
            .then(()=>{
                console.log("User succesfully submitted, data recorded");
            })
            .catch((error)=>{
                console.log(error);
            })
        }


    <Footer>
        <FooterTab>
            <Button onPress={()=>this.handleSubmit()} 
                disabled={!this.state.flag} full 
                style={(this.state.flag)?styles.submitButton:[]}
            >
                <Text style={styles.buttonText}>Submit and Signup</Text>
            </Button>
        </FooterTab>                        
    </Footer>

handleSubmit(){
console.log(this.state);
fb.firestore().collection(“businessDetails”).add({
类别:this.state.b类别,
描述:this.state.b说明,
名称:this.state.bName,
自:本州最辉煌,
电话:this.state.bPhone,
uid:this.state.uid
})
.然后(()=>{
console.log(“用户成功提交,数据记录”);
})
.catch((错误)=>{
console.log(错误);
})
}
this.handleSubmit()}
disabled={!this.state.flag}已满
style={(this.state.flag)?style.submitButton:[]}
>
提交并注册

令人惊讶的是,handlesubmit()[console.log line]的第2行在第一次提交时起作用,但在firestore函数中不起作用。必须按submit键才能使firestore功能正常工作。该行为是否可能是由于功能的冷启动造成的?请原谅我的无知,但我不明白什么是“功能的冷启动”:/也许道格的这段视频对你有所帮助,但这段视频并没有为我提供一个解决方案,它确实打开了我对这个问题的思路。我通过在构造函数中放置“fb.firestore”来修复它,因此,确保在安装组件时与firestore有连接,从而减少冷启动时间。谢谢你,康斯坦丁啤酒。