Проблема с потоком аутентификации при использовании response-navigation 5.0.5 - PullRequest
1 голос
/ 09 марта 2020

Фактическое поведение:

Я работаю над реализацией потока аутентификации для проекта. Я отображаю стек экранов с экраном входа в качестве исходного маршрута, когда пользователь не вошел в систему успешно. И рендеринг другого стека экранов с домашним экраном в качестве начального маршрута при успешном входе пользователя.

Моя проблема заключается в том, что при успешном входе пользователя в систему вместо непосредственного отображения начального экрана экран входа появляется в течение нескольких секунд без какого-либо взаимодействия с экраном, а затем появляется начальный экран с некоторой анимацией, аналогичной реагированию на навигацию. sh transition.

Ожидаемое поведение:

Я хочу отобразить домашний экран при успешном входе в систему без ошибок, как указано выше.

Среда:

"реагировать-нативный": "0.61.5", "@ реагировать-навигация / нативный": "^ 5.0.5", "@ реагировать-навигация / стек": "^ 5.0. 5 "" response-native-reanimated ":" ^ 1.7.0 "," response-native-safe-area-context ":" ^ 0.7.3 "," реагировать-нативные экраны ":" ^ 2.0.0- beta.7 "," @ Reaction-native-community / masked-view ":" ^ 0.1.6 ",

Код:

 homeStack = () => {
    return (
      <>
        <Stack.Screen name="Home" component={Home} options={{ headerShown: false }} />
        <Stack.Screen name="JobsFormsList" component={JobsFormsList} />
        <Stack.Screen name="Forms" component={Forms} />,
        <Stack.Screen name="SignTemp" component={SignTemp}
          options={{ headerShown: false }}
        />
      </>
    );
  }
loginStack = () => {
        return (
          <>
           <Stack.Screen name="Login" component={Login} options={{ headerShown: false }} />
            <Stack.Screen name="Home" component={Home} options={{ headerShown: false }} />
            <Stack.Screen name="JobsFormsList" component={JobsFormsList} />
            <Stack.Screen name="Forms" component={Forms} />,
            <Stack.Screen name="SignTemp" component={SignTemp}
              options={{ headerShown: false }}
            />
          </>
        );
      }


 render() {
    return(
    <NavigationContainer>
      <Stack.Navigator screenOptions={{ gestureEnabled: false }}>
        {this.state.user_data === null ? this.loginStack() : this.homeStack()}
      </Stack.Navigator>
    </NavigationContainer>
  );
}
...