2017-05-18 29 views
1

我试图将当前状态数据设置为Firebase,但是无论何时单击“提交”,都不会发布任何内容。初始状态设置在以下代码的上方(未包含)。将数据发布到Firebase(React)

下面就是我试图提交数据

handleSubmit(evt){ 
    var user = firebase.auth().currentUser; 

    firebase.database().ref('users/'+user.iud).set({ 
     title: this.state.answers.title, 
     location: this.state.answers.location, 
     description: this.state.answers.description 
    }); 

    } 

输入数据被设置为状态。

handleChange(evt){ 

    const target = evt.target 
    const name = target.name 
    const value = target.value 

    this.setState({ 
     answers: { 
     [name]: value 
     } 
    }) 

    console.log(this.state.answers) 
    } 

什么被渲染

render(){ 
    return(
     <div> 
     <form> 

      <label>Title of Listing:</label> 
      <input value={this.state.answers.title} name="title" type='text' placeholder="title" onChange={(e) => this.handleChange(e)}/> 

      <label>Location:</label> 
      <input value={this.state.answers.location} name="location" type='text' placeholder="location" onChange={(e) => this.handleChange(e)}/> 
      <br /> 

      <label>Description:</label> 
      <textarea value={this.state.answers.description} name="description" type='text'placeholder='description' onChange={(e) => this.handleChange(e)}/> 

      <br /> 
      <input type="submit" value="submit" onSubmit={(evt) => this.handleSubmit(evt)}/> 

     </form> 
     </div> 
    ); 
    } 
+0

尝试增加一个回调,看是否和错误的发生集。 'firebase.database()。ref('users /'+ user.iud).set({...},function(error){if(error)console.log(error);});'' –

回答

2

我认为必须有一个在这里错字问题。

firebase.database().ref('users/'+user.iud) 

尝试用相同

firebase.database().ref('users/'+user.uid)