小萌新123 2022-04-28 18:05
浏览 49
已结题

react native 怎么实现下次自动登录

问题遇到的现象和发生背景

这里有登录界面,注册界面,和其他界面,每次运行时都是默认打开登录界面,我怎么能在用户登录之后,记住用户已登录过,下次启动时第一个页面不要是登录界面?

img

我的解答思路和尝试过的方法

我尝试过在点击登录后,使用AsyncStorage保存用户的登录信息,然后再次启动时,读取出AsyncStorage保存的信息,使用一个state变化控制显示的第一个界面。但是不起作用。


//设置一个state
const [isLogin, setIsLogin] = useState("");

  useEffect(() => {
    const checkLogin = async () => {
     //得到是否登录
      const login= await getValue('isLogin');
      setIsLogin(login);
    };
    checkLogin();
  }, []);

  const Stack = createNativeStackNavigator();
  return (
    <NavigationContainer>
      <Stack.Navigator
        screenOptions={{headerShown: false}}
        {/*启动时的第一个界面*/}
        initialRouteName={isLogin=='login' ? 'BabyScreen' : 'LoginScreen'}>
        {/*登录界面*/}
        <Stack.Screen name="LoginScreen" component={LoginScreen} />
        {/*注册界面*/}
        <Stack.Screen
          name="RegistrationScreen"
          component={RegistrationScreen}
        />
        {/*其他界面*/}
        <Stack.Screen name="BabyScreen" component={BabyScreen} />
        <Stack.Screen name="TreeScreen" component={TreeScreen} />
        <Stack.Screen name="GroceryScreen" component={GroceryScreen} />
        <Stack.Screen name="PersonalScreen" component={PersonalScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 5月6日
    • 创建了问题 4月28日

    悬赏问题

    • ¥15 依据报错在原代吗格式的基础上解决问题
    • ¥15 在虚拟机中安装flash code
    • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
    • ¥20 verilog状态机方法流水灯
    • ¥15 pandas代码实现不了意图
    • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
    • ¥25 LT码在高斯信道下的误码率仿真
    • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
    • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
    • ¥15 电视版的优酷可以设置电影连续播放吗?