2016-10-24 57 views
0

導航到下一個場景我現在用的陣營本地路由器和onPress我想用它工作的功能就像我想,但我無法使用導航功能,它裏面無法通過功能

這工作:

<TouchableHighlight onPress={Actions.home} underlayColor="transparent"> 
</TouchableHighlight> 

但這並不:

nextScene =() => { 
     if(this.state.tekstNummer >= Object.keys(teksten).length-1){ 
     Actions.home 
     } 
     else{ 
     this.setState({tekstNummer: this.state.tekstNummer+1}) 
     } 
    }; 

<TouchableHighlight onPress={nextScene} underlayColor="transparent"> 
</TouchableHighlight> 

else語句作品,但裏面的Action.home if語句不起作用。我該如何解決這個問題,並且爲什麼不起作用?

回答

1

你實際上並沒有調用你的home函數。

nextScene =() => { 
     if(this.state.tekstNummer >= Object.keys(teksten).length-1){ 
     // call the function() 
     Actions.home(); 
     } 
     else{ 
     this.setState({tekstNummer: this.state.tekstNummer+1}) 
     } 
    }; 
+0

謝謝我不認爲這會是這麼簡單,但我怎麼沒有使用功能以外的括號? –

+0

因爲您將該功能附加到onPress屬性。當新聞發生時,TouchableHighlight將調用傳入函數。換句話說:您只需在按下按鈕時將該函數的引用傳遞給TouchableOpacity,該函數將被執行 – Thomas

+0

好吧,非常感謝您的詳細解答! –