2017-06-22 5 views
1

Stellen Sie sich vor input hat value={this.state.searchText}.Richtiger Weg, um eine Sucheingabe und die Ergebnisse zu löschen?

Und search() ruft die Suchanfrage.

Welches ist die richtige Art, die Eingabe und die Ergebnisse zu löschen? Ich nehme an, Sie müssten die Abfrage mit searchText: '' nach dem Löschen der Eingabe erneut ausführen, um die ursprünglichen Ergebnisse zu erhalten.

resetSearch =() => { 
    this.setState({ searchText: '' },() => { 
    this.search(); 
    }); 
} 

search =() => { 
    searchQuery(this.state.searchText); 
} 

oder

resetSearch =() => { 
    this.setState({ searchText: '' }); 
    this.search(''); 
} 

search = (query) => { 
    searchQuery(query); 
} 

Antwort

0

Es ist eine stilistische Wahl.

Meiner Meinung nach ist Ansatz 1 expliziter und einfacher zu lesen - Sie wissen, dass Suche und SucheQuery eindeutig mit dem Zustand interagieren.

Der zweite Ansatz ist besser für Komponententests, da er vom Argument und nicht vom Komponentenstatus abhängt.

Am Ende ist es Ihr Aufruf über die Lesbarkeit/Testbarkeit IMO.

Verwandte Themen