【问题标题】:Error: Reference.child failed: First argument was an invalid path = "[object Object]"错误:Reference.child 失败:第一个参数是无效路径 =“[object Object]”
【发布时间】:2019-01-22 07:42:43
【问题描述】:

我尝试通过 ID 删除“能力”

DDB 模型: 能力

id(from firebase): - competence: "string"
                   - definition: "string"
                   - icon: "string"

我使用:

  deleteData(key){
    firebase.database().ref('competences/').child(key).remove();
}

 <tbody>
   {this.state.items.map((element) => {
        return (<tr>
                   <td>{element.competence}</td>
                   <td>{element.definition}</td>
                   <td><img src={element.icon} style={imgStyle}/></td>
                   <td><button onclick={this.deleteData(element)}>supp</button></td>
                 </tr>)
   })}
 </tbody>

但我有一个错误: 错误:Reference.child 失败:第一个参数是无效路径 =“[object Object]”。路径必须是非空字符串,并且不能包含“.”、“#”、“$”、“[”或“]”

console.log()

【问题讨论】:

  • key等于什么?
  • 权限 UID 正常,不是吗?是 ref('competences/') 的子级
  • competences 数据库名称吗?试试这个firebase.database().ref().child(key).remove();
  • 我想你需要使用&lt;button onclick={() =&gt; this.deleteData(element.competence)}&gt;supp&lt;/button&gt;&lt;/td&gt;
  • @PeterHaddad : TypeError: pathString.replace 不是函数

标签: reactjs firebase


【解决方案1】:

你需要传递一个字符串(element.competence)的键,但是你传递的是一个对象element

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-21
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 2017-12-01
    相关资源
    最近更新 更多