2016-03-22 44 views
0

如何在像onValueChange這樣的事件中放置兩個函數?React-Native上的一個事件中的兩個函數

我試着用

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

爲什麼不創建一個封裝函數來調用這兩個函數? –

+0

是個不錯的選擇,謝謝! –

回答

4

什麼:

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

即執行第一個函數,但不是第二個 –

+1

@CarlosQuiroga只是把它叫做'this.state.eventOnChange();',注意'()'到底 – Cherniv

+0

哦,很傻,謝謝切爾諾夫。 – pinewood

1

Component.setState()是異步的,可以在第二個呼叫鎖定它仍然是做也先。

做第二次通話在這樣的回調:

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

解決了與下面的代碼:

<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} 
    /> 

感謝@pinewood。

相關問題