2016-07-07 6 views
0

ich eine Komponente mit den folgenden Zustände haben:Komponente des Staates in einen String Hinzufügen Reagieren

class Example extends Component { 
    constructor(props) { 
    super(props); 
    this.state = { 
     var1: "Dog", 
     var2: "Cat", 
     var3: [20, 40], 
     currentFilter:"None" 
    }; 
     this.updateFilter = this.updateFilter.bind(this); 
    } 

In der Update-Filterfunktion, ich möchte Eigenschaften der Staat alle zu übernehmen, aber die folgende Syntax nicht funktioniert:

updateFilter(){ 
    var newSearch= "Searching" {this.state.var1} + {this.state.var2} 
    this.setState({ 
    currentFilter: newSearch 
    }); 
} 

Gibt es eine Möglichkeit, die Eigenschaften von State in die String-Variable zu integrieren?

Antwort

1

Sie benötigen die geschweiften Klammern nur, wenn Sie JSX schreiben. Da Ihre updateFilter() Funktion nur eine normale Javascript-Funktion, können Sie es schreiben, wie:

updateFilter() { 
    var newSearch = "Searching" + this.state.var1 + this.state.var2; 
    this.setState({ 
    currentFilter: newSearch 
    }); 
} 

Obwohl, FYI, was Sie für newSearch bekommen eine inkohärente "SearchingDogCat" so werden Sie Ihre Verkettung zu überdenken möchten .

+0

Danke! Und das Beispiel, das ich verwendet habe, ist nur eine sehr vereinfachte Version meiner App, aber Punkt gemacht. – lost9123193