2016-06-12 10 views
0

Nach meinem ersten React-Tutorial. Mein Code scheint genau wie das Tutorial zu sein, aber meine Eingabe wird nicht innerhalb einer Formularkomponente zurückgesetzt. Das erste Mal, das ich einreiche, funktioniert alles gut, aber der Staat hält sich an den ersten Wert. Selbst wenn setState mit einem console.log in einem Rückruf aufgerufen wird, scheint es, als würde setState nicht einmal feuern. this ist in meiner constructor Funktion gebunden.React - setState nicht zurücksetzen Eingabe

import React, { Component } from 'react'; 
import TenantActions from '../actions/TenantActions'; 
export default class AddTenantForm extends Component { 

constructor(props) { 
    super(props); 

    this.state = { 
    name: '', 
    } 

    this.onSubmit = this.onSubmit.bind(this); 
} 

onSubmit(event) { 
    event.preventDefault(); 

    console.log('1. On Submit click, sending addNewTenant action w/', this.state); 

    TenantActions.addNewTenant(this.state); 

    this.setState = ({ name: '' }); 
} 

render() { 
    return (
    <form> 
     <div className="form-group"> 
     <input type="text" 
      className="form-control" 
      id="tenantName" 
      placeholder="Bob Smithers" 
      value={this.state.name} 
      onChange={e => this.setState({ name: e.target.value })} 
      /> 
    </div> 
    <button className="btn btn-default" 
      onClick={this.onSubmit} 
      >Submit</button> 
    </form> 
) 
} 
} 

Antwort

0

this.setState ist eine Funktion. Sie haben einen Tippfehler (= extra) in der Funktion onSubmit.

ersetzen this.setState = ({...}) mit this.setState({name: ''})

More about setState

+1

Ugh, einen Tippfehler. Vielen Dank! –

Verwandte Themen