为啥没有用户ID?它是未定义的

Posted

技术标签:

【中文标题】为啥没有用户ID?它是未定义的【英文标题】:Why there is no userID? it is undefined为什么没有用户ID?它是未定义的 【发布时间】:2020-12-03 09:30:23 【问题描述】:

您好,我的朋友们,我正在尝试在使用 userID 时将数据保存到 firebase 但是我做不到!请问谁能帮帮我?

class ImportScreen extends Component 
   
    

    writeuserdata( name, surname, age, userId) 
        firebase.database().ref('Users/' + userId).set(
            name,
            surname,
            age
        ).then((data) => 
            console.log('data', data)
        ).catch ((error) => 
            console.log('eror',error)
        )
    



    render() 
        return (
            <View style= flex: 1, alignItems: 'center', justifyContent: 'center', backgroundColor: 'white' >

                <TextInput
                    
                    placeholder="Enter a name"
                    onChangeText=(name) => this.setState( name )
                  
                />

                <TextInput
                 
                    placeholder="Enter a surname"
                    onChangeText=(surname) => this.setState( surname )
                    
                />

                <TextInput
            
                    placeholder="Enter age"
                    onChangeText=(age) => this.setState( age )
                    
                />

                <Button
                    title="Save"
                    onPress=() => this.writeuserdata(this.state.name, this.state.surname, this.state.age) />
            </View>
        );
    

enter image description here

【问题讨论】:

【参考方案1】:

你打电话给writeuserdata

this.writeuserdata(this.state.name, this.state.surname, this.state.age)

由于 writeuserdata 需要 4 个参数,而您只传递了 3 个参数,因此第 4 个参数将是 undefined

如果您还想传递当前 Firebase 身份验证用户的 UID,则类似于:

this.writeuserdata(this.state.name, this.state.surname, this.state.age, firebase.auth().currentUser.uid)

【讨论】:

以上是关于为啥没有用户ID?它是未定义的的主要内容,如果未能解决你的问题,请参考以下文章

嵌套函数中的未定义变量

为啥在已删除指针上调用非虚拟成员函数是未定义的行为?

laravel 5上的未定义关系

为啥我的 Redux reducer 认为我的状态是未定义的?

导入 sequelize 模型说它是未定义的

为啥在函数体内定义的内置类型的未初始化对象具有未定义的值?