javascript - React - Form submit + set state -


in list i'm having issues edit method.

i have form input , submit button, when first submit form works fine, when try second time appears refresh page despite having preventdefault on method.

i tried removing defaultvalue didn't work.

edit method

editeddata(e) {     e.preventdefault();     let editedvalue = this.editeddata.value;     let objectkey = this.props.data.key;     let userid = firebase.auth().currentuser.uid;     let dbref = firebase.database().ref(`users/${userid}/notes/${objectkey}`);     dbref.update({         value: editedvalue     })     this.setstate({         editing: false     }) } 

form

if(this.state.editing) {     editingtemplate = (         <form onsubmit={this.editeddata}>             <input classname="form-input" type="text" defaultvalue={this.props.data.value} ref={ref => this.editeddata = ref} />             <input type="submit" value="save" />         </form>     ); } 

you using this.editeddata method , ref object variable overwrite function object reference. here have changed this.editeddata1 can data. try let me know if have issues.

if(this.state.editing) {     editingtemplate = (         <form onsubmit={this.editeddata}>             <input classname="form-input" type="text" defaultvalue={this.props.data.value} ref={ref => this.editeddata1 = ref} />             <input type="submit" value="save" />         </form>     ); }  editeddata = (e) => {   e.preventdefault();   let editedvalue = this.editeddata1.value;   let objectkey = this.props.data.key;   let userid = firebase.auth().currentuser.uid;   let dbref = firebase.database().ref(`users/${userid}/notes/${objectkey}`);   dbref.update({     value: editedvalue   })   this.setstate({       editing: false   }) } 

Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -