2016-03-22 8 views
0

Wie zwei Funktionen in einem Ereignis wie onValueChange setzen?Zwei Funktionen in einem Ereignis auf React-Native

Ich habe versucht, mit

onValueChange={(selected) => this.setState({selected}),this.state.eventOnChange}> 
+0

Warum erstellen Sie keine Funktion, in der Sie diese beiden Funktionen aufrufen? –

+0

Ist eine gute Wahl, Danke !. –

Antwort

4

Was:

onValueChange={(selected) => { 
    this.setState({selected}); 
    this.state.eventOnChange(); 
}} 
+1

Das führt die erste Funktion, aber nicht die zweite –

+1

@CarlosQuiroga rufen Sie einfach auch wie 'this.state.eventOnChange();', beachten Sie die '()' am Ende – Cherniv

+0

Oh dumme ich, danke Czernow. – pinewood

1

Component.setState() ist asynchron und auf dem zweiten Anruf gesperrt werden, während er noch an den ersten zu tun ist.

Sie den zweiten Anruf in einem Callback wie folgt aus:

onValueChange= 
    { (selected) => { 
     this.setState(
      {category:selected},() => {this.filter();} // Add Functions That's you want to call. 
     ) 
    } 
} 
0

mit dem folgenden Code Entschlossen:

<TextInput 
     style={{height: 40, width: 200, borderColor: 'gray', borderWidth: 1, }} 

     onChangeText={(text) => this.setState({ 
     text 
     },() => { 
     this._onChangeText(); 
     }) 
     } 
     autoCorrect={false} 
     underlineColorAndroid='rgba(0,0,0,0)' 
     value={this.state.text} 
    /> 

Dank @pinewood.

Verwandte Themen