Обработка проверки подлинности firebase в реакции на натив - PullRequest
0 голосов
/ 15 апреля 2020

Как обрабатывать аутентификацию в реагировать на натив? я попытался сделать это, но я получаю экран входа в систему на несколько секунд, затем он переключается на экран карты , есть ли способ заменить его на экран spla sh и он загружается в фоновом режиме или что-то подобное

firebase.initializeApp(firebaseConfig);

const Stack = createStackNavigator();

function App() {
  const [log, setlog] = React.useState();

  React.useEffect(() => {
    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        setlog(true);
      }
    });
  }, []);

  if (log) {
    return (
      <NavigationContainer>
        <Stack.Navigator headerMode="none">
          <Stack.Screen name="Map" component={MapScreen} />
          <Stack.Screen name="Profile" component={Profile} />
        </Stack.Navigator>
      </NavigationContainer>
    );
  } else {
    return (
      <NavigationContainer>
        <Stack.Navigator headerMode="none">
          <Stack.Screen name="Login" component={LoginScreen} />
          <Stack.Screen name="SignUp" component={SignUpScreen} />
        </Stack.Navigator>
      </NavigationContainer>
    );
  }
}

export default App;


Также, когда я делаю выход из системы, он показывает ошибку, в которой говорится, что NAVIGATE с полезной нагрузкой {MAP} не обрабатывается ни одним навигатором так же, когда я тоже захожу с главного экрана

signOutUser = async () => {
    try {
      await firebase.auth().signOut();
      navigation.navigate('Login');
    } catch (e) {
      console.log(e);
    }
  };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...