0

現在ログインしていないユーザーは常にログインページに送信されます。Reduxを使用して現在のユーザーIDを保存しています。それは問題ではありません。主な問題は、私がルーターファイルに入れたチェックとは無関係に、私がそれらにナビゲートすると、すべてのページが表示されるということです。どんな助けでも大歓迎です。React Native Router Flux/Reduxを使用して経路(シーン)を保護する

<Router sceneStyle={{ paddingTop: 65 }}> 
    <Scene 
    key="splash" 
    component={Splash} 
    title="App" 
    timeout={500} 
    nextScene={'main'} 
    initial 
    /> 

    <Scene key="auth" > 
    <Scene key="login" component={LoginForm} title="Please Login" /> 
    </Scene> 

    <Scene key="profile"> 
    <Scene key="profilePage" component={ProfilePage} title="My Profile" /> 
    </Scene> 

    <Scene key="main" > 
    <Scene 
     key="subscribedList" 
     component={SubscribedList} 
     title="Choose A List" 
    /> 
    <Scene 
     key="itemsList" 
     component={ItemsList} 
     onBack={() => Actions.subscribedList()} 
    /> 
    <Scene 
     key="createList" 
     component={CreateList} 
     title="Create A List" 
    /> 
    <Scene 
     key="createItem" 
     component={CreateItem} 
     title="Create Item" 
    /> 
    <Scene 
     key="compareItem" 
     component={CompareItem} 
     title="Found Item" 
    /> 
    </Scene> 
</Router> 

答えて

0

私はルータフラックスドキュメントとしてスイッチを使用しています:
https://github.com/aksonov/react-native-router-flux/blob/master/docs/OTHER_INFO.md

handlePressPurchases =() => { 
    Actions.account({section: 'purchases'}) 
    } 



    import { connect } from 'react-redux' 

    <Scene 
      key="account" 
      component={connect(state=>({isAuth: state.login.username != null }))(Switch)} 
      tabs={true} 
      unmountScenes 
      selector={props=> !props.isAuth ? "login_account" : props.section } 
     > 
      <Scene key="login_account" component={LoginScreen} title="Login"/> 
      <Scene key='purchases' component={Purchases} title='Purchases' navBar={AppNavBar} /> 
      <Scene key='balance' component={Balance} title='Balance' navBar={AppNavBar} /> 
    </Scene> 

第二の代替がActions.loginを使用していた()authStateに基づいて、各シーンのコンポーネントにリダイレクトします。

関連する問題