【问题标题】:react native firebase onAuthStateChanged not working反应本机 firebase onAuthStateChanged 不工作
【发布时间】:2022-12-18 11:49:06
【问题描述】:

我在查询用户之前是否登录过。我想让他们根据结果转到不同的页面。 onChangeState 不工作

import { firebase } from './config';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

function App() {
  const [initializing, setInitializin] = useState(true);
  const [user, setUser] = useState('');

  function onAuthStateChanged(user) {
    setUser(user);
    if (initializing) setInitializin(false);
  }
  useEffect(() => {
    const subscriber = firebase.auth().onAuthStateChanged(onAuthStateChanged);
    return subscriber;
  }, []);
  if (initializing) return null;
  if (!user) {
    return (

      <NavigationContainer independent={true}>
        <Stack.Navigator>
          <Stack.Screen
            name='Login'
            component={LoginScreen}
            options={{ headerShown: false, headerBackVisible: false }}
          />
          <Stack.Screen
            name='Create'
            component={CreateAccount}
            options={{ headerShown: true, headerTitle: 'Create An Account' }} />
        </Stack.Navigator>
      </NavigationContainer>

    );
  } else if (user)
    return (
      <NavigationContainer independent={true}>
        <Stack.Navigator>
          <Stack.Screen
            name='Daily'
            component={DailyScreen}
            options={{ headerShown: false, headerBackVisible: false }} />
          <Stack.Screen
            name='Detail'
            component={Detail}
            options={{ headerShown: false, headerBackVisible: false }} />
        </Stack.Navigator>
      </NavigationContainer>
    ); return (
      <NavigationContainer>
        <App />
      </NavigationContainer>
    );
}
export default () => {
  return (
    <NavigationContainer independent={true}>
      <App />
    </NavigationContainer>
  )
}

如果用户之前登录过,我希望它转到 DailyScreen 页面。但它总是转到 LoginScreen 页面。

【问题讨论】:

    标签: firebase react-native google-cloud-firestore firebase-authentication


    【解决方案1】:

    尝试这个 改变

    const [user, setUser] = useState('');
    

    const [user, setUser] = useState(null);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-01
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-19
      • 1970-01-01
      相关资源
      最近更新 更多