2016-07-12 52 views
1

我是新的反應本地和當前正在開發一個需要登錄的反應原生應用程序。成功登錄後,視圖變爲主頁。問題是我關閉並重新打開應用程序後,它再次顯示我登錄頁面。 通常,當您關閉某些需要登錄並重新打開的應用時,如果您已經登錄,它將重定向到主頁。但在我的情況下,它總是首先顯示LoginPage。如何在登錄後更改導航器的初始路由原生

如果用戶在關閉並重新打開應用程序時已經登錄,如何將初始路徑更改爲HomePage?

下面是一些代碼我做了什麼:

class Main extends Component { 
 
    
 
    _renderScene(route, navigator) { 
 
     if (route.id === 1) { 
 
     return <LoginPage navigator={navigator} /> 
 
     } else if (route.id === 2) { 
 
     return <HomePage navigator={navigator} /> 
 
     } else if (route.id === 3) { 
 
     return <DetailPage navigator={navigator} /> 
 
     } else if (route.id === 4) { 
 
     return <CreateBookingPage navigator={navigator} /> 
 
     } 
 
    } 
 

 
    _configureScene(route) { 
 
    return Navigator.SceneConfigs.PushFromRight; 
 
    } 
 
    
 
    
 
    render() { 
 
     return (
 
     <Navigator 
 
     initialRoute={{id: 1, }} 
 
     renderScene={this._renderScene} 
 
     configureScene={() => { return Navigator.SceneConfigs.PushFromRight; }} /> 
 
    ); 
 
    } 
 
}

+0

我有同樣的問題,你有沒有解決這個問題? –

回答

0

你可以使用Shared Preferences存儲,如果用戶登錄或沒有。

+0

事實上,它知道用戶是登錄的,因爲登錄成功後(第二次輸入)重定向到主頁後第二次登錄按鈕。問題是,只要我關閉並重新打開應用程序,它總是顯示LoginPage,而不是重定向到homePage。 – sptra

+0

難道你不能簡單地在onResume()方法的登錄活動中實現if語句 - 如果用戶登錄 - >打開下一個活動。但我不知道用戶是否可以看到動畫。 – SomeRandomNameCuzWhyNot

+0

對不起,我認爲你誤解了我的問題。該應用程序可以在登錄後打開下一個活動到主頁等。通常,當您關閉某個需要登錄並重新打開的應用程序時,如果您已經登錄,它將重定向到主頁。但在我的情況下,它總是首先顯示LoginPage,而不是直接顯示到主頁。 – sptra

0

檢查清單文件

<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 

集成網頁活動,您可以在共享的共享偏好 保存用戶名和檢查條件在那裏,如果你得到的用戶名是null,則通過意向的loginpage