2016-09-07 3 views
0

일단 React Native Router Flux를 사용하여 인증이 확인되면 사용자를 새로운 장면으로 리디렉션하는 예를 찾고 있습니다. 나는 그렇게처럼 내 라우터 구성 요소를 정의 가정하면 필요로하는 것은React 네이티브 라우터 Flux 로그인시의 리디렉션 예

<Router> <Scene key="root"> <Scene key="login" component={Login} title="Login" initial={true} hideNavBar="true" duration={1} /> <Scene key="home" component={Home} title="Home" hideNavBar="true" duration={1} /> </Scene> </Router>

  • Login에서 Home로 리디렉션 할 <Router>에 업데이트 할?
  • Router 구성 요소가 Drawer 구성 요소 내에 중첩되어있는 경우/사용자가 로그인하도록 지정하려면 상태를 어떻게 업데이트합니까?
+0

우연히 redux를 사용하여 응용 프로그램 상태를 관리합니까? – Steven

+0

아니. 아니야. 그게 그렇게 중요한 건가? –

+0

네가 그렇게했다면 Actions [ 'home']();를 호출 할 수있다. – Steven

답변

1

인증이 완료되면 바로 로그인 컴포넌트에서 Actions.home()을 사용해야합니다. 라우터 구성 요소는 변경할 필요가 없습니다.

두 번째 질문에 대해서는 글로벌 상태가 될 수 없습니다 (간단한 앱을 복잡하게 만들고 싶지 않은 경우). 하나를 사용하려면 Redux 또는 유사한 라이브러리를 사용해야합니다.

0

리디렉션하는 가장 쉬운 방법은 인증이 완료되면 Actions.home()을 사용하는 것입니다. 당신은 redux를 사용하여 응용 프로그램 상태를 관리하지 않기 때문에. 상황이 복잡해진다.

나는 사용자가 향후 로그인 할 것인지 여부를 알기위한 해결책을 찾고 있다고 생각합니다. 최선의 방법은 asyncstorage라고 생각합니다. 변수 is_loggedin을 true로 저장하십시오. 나중에이 변수를 검사하여 사용자가 로그온했는지 여부를 판별 할 수 있습니다.

하지만 Redux/Reflux를 사용하는 것이 좋습니다. 훨씬 나아질 것입니다.

관련 문제