【问题标题】:Unable to Update in Firebase using react native无法使用本机反应在 Firebase 中更新
【发布时间】:2020-05-01 05:09:29
【问题描述】:

我正在尝试使用 react native 更新 firebase 表,而不是更新我不想要的新条目。代码是:

firebase.database().ref('/users1').child(this.props.navigation.state.params.keyis).set({email:this.state.email,password:this.state.password})

this.props.navigation.state.params.keyis- 这包含要更新的每一行的唯一 ID。和电子邮件,密码是字段。使用它我需要更新它。我提交后我的密钥正在更改,因此插入发生而不是更新,因此无法将其与现有密钥进行比较。这个变量来自上一页,存储方式如下:

<TextInput style={{marginTop:20, height:40, borderColor:'gray', borderWidth:1}} onChangeText={keyis=>this.setState({keyis})} value={this.state.keyis}/>

这是数据库的结构:

【问题讨论】:

    标签: javascript reactjs firebase react-native firebase-realtime-database


    【解决方案1】:

    您需要使用update,而不是使用set。像这样:

    firebase.database().ref('/users1').child(this.props.navigation.state.params.keyis).update({email:this.state.email,password:this.state.password})
    

    【讨论】:

    • firebase.database().ref('/users1').update({email:this.state.email,password:this.state.password}) 试试这个,看看会发生什么。它应该搜索电子邮件并相应更新
    • 新条目在没有任何唯一 ID 的情况下传递。事情是在错误地插入新记录并且我编辑然后使用上面给出的查询进行更新之后,所以我需要比较所有数据库键和这个键然后更新应该发生。
    • 他希望更新同一个节点。 push() 每次都会生成新的 DB ID。我曾要求@ChintanBhuta 使用用户 UID 更改路径。这样它就保持不变并且只更新所需的数据。我还不是 JavaScript 专家,但这是他想做的。
    猜你喜欢
    • 2019-08-11
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 2019-06-01
    • 1970-01-01
    相关资源
    最近更新 更多