2017-07-18 67 views
0

這是我目前工作的登錄頁面操作。一切工作正常反應本地路由器通量撥打國際長途功能

import React, { Component } from 'react'; 
import {AlertIOS , StyleSheet , View , Text} from 'react-native'; 
import Button from 'react-native-button'; 
import {Actions } from 'react-native-router-flux'; 

class Login extends Component { 
    render() { 
     return (
      <View> 
       <Text>Hello world this is login page</Text> 
       <Button onPress={Actions.login2}>Click </Button> 
      </View> 
     ); 
    } 
} 

export default Login; 

不過,我想先調用函數檢查用戶名和password.If它是正確的我想進入下一個畫面。我怎樣才能做到這一點。像下面的代碼一樣。我真正的問題是我無法弄清楚調用渲染方法之外Actions.ROUTE_NAME方法。

//This is not working 
import React, { Component } from 'react'; 
import {AlertIOS , StyleSheet , View , Text} from 'react-native'; 
import Button from 'react-native-button'; 
import {Actions } from 'react-native-router-flux'; 

class Login extends Component { 
controlMethod(){ 
if(true){Actions.login2} 
} 
    render() { 
     return (
      <View> 
       <Text>Hello world this is login page</Text> 
       <Button onPress={this.controlMethod}>Click </Button> 
      </View> 
     ); 
    } 
} 

export default Login; 
+0

這可能會回答你的問題:https://stackoverflow.com/questions/37346979/how-to-call-actions-xxx-in-functions-binded-to-onpress-event-in-react-native-ro – jamesw

回答

1

也許你可以試試這個:

controlMethod(){ 
    if(true){ Actions.login2() } 
} 

讓我們嘗試使用()

希望能解決你的問題:)

+0

@Musti,解決了嗎? –

0

黎剎是正確的,在你的第二個例如,你在controlMethod功能傳遞給onPress道具,當你點擊<Button>組成部分,controlMethod將會被執行,但在第二個例子中,controlMethod實際上不會執行Actions.login2函數,但它會返回function expression,所以要使其正常工作,您需要實際調用Actions.login2,這就是爲什麼您需要另一對括號之後就像Rizal的例子所顯示的那樣,Actions.login2

此外,請確保您在構造函數中綁定你的controlMethod或者你可以把它的靜態方法來代替。

相關問題