ReactNative 实现登录注销

登录

import React, { Component } from "react";
import { Alert, View, AsyncStorage, TextInput, Button } from "react-native";

export default class LoginPage extends Component {
  constructor(props) {
    super(props);
    this.state = {
      name: "",
      psw: ""
    };
  }

  onChangeName = text => {
    this.setState({ name: text });
  };

  onChangePsw = text => {
    this.setState({ psw: text });
  };

  login = async () => {
    if (this.state.name != null && this.state.name != "") {
      if (this.state.psw != null && this.state.psw != "") {
        await AsyncStorage.setItem("name", this.state.name);
        await AsyncStorage.setItem("psw", this.state.psw);

        this.props.navigation.navigate("Home");
      } else {
        Alert.alert("密码不能为空");
      }
    } else {
      Alert.alert("帐号不能为空");
    }
  };

  render() {
    return (
      <View style={{ flex: 1 }}>
        <TextInput
          placeholder="请输入帐号..."
          onChangeText={this.onChangeName}
        />
        <TextInput
          placeholder="请输入密码..."
          onChangeText={this.onChangePsw}
        />
        <Button title="登录" onPress={this.login} />
      </View>
    );
  }
}

判断有没有存入本地

import React, { Component } from "react";
import { View, AsyncStorage, Text } from "react-native";
import {
  StackNavigator,
  createSwitchNavigator,
  createTabNavigator,
  createBottomTabNavigator
} from "react-navigation";
import HomePage from "./HomePage";
import LoginPage from "./LoginPage";

class AuthPage extends Component {
  constructor(props) {
    super(props);
    this._bootstrapAsync();
  }

  _bootstrapAsync = async () => {
    const name = await AsyncStorage.getItem("name");
    const psw = await AsyncStorage.getItem("psw");
    if (name !== null && name != "" && psw != null && psw != "") {
      this.props.navigation.navigate("Home");
    } else {
      this.props.navigation.navigate("Login");
    }
  };

  render() {
    return (
      <View style={{ flex: 1 }}>
        <Text>qqqqqqq</Text>
      </View>
    );
  }
}

const Switch = createSwitchNavigator({
  Auth: { screen: AuthPage },
  Home: { screen: HomePage },
  Login: { screen: LoginPage }
});

export default Switch;

注销

import React, { Component } from "react";
import { View, Text, Button, AsyncStorage } from "react-native";

export default class HomePage extends Component {
  onClick = async () => {
    await AsyncStorage.clear();
    this.props.navigation.navigate("Login");
  };
  render() {
    return (
      <View style={{ flex: 1 }}>
        <Text style={{ textAlign: "center" }}>hello</Text>
        <Button title="注销" onPress={this.onClick} />
      </View>
    );
  }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的示例代码,演示如何在Python中实现用户注册、登录注销和退出功能: ```python users = {} def register(): username = input("请输入用户名: ") if username in users: print("该用户名已被注册,请重新输入!") return password = input("请输入密码: ") users[username] = password print("注册成功!") def login(): username = input("请输入用户名: ") if username not in users: print("该用户不存在,请先进行注册!") return password = input("请输入密码: ") if users[username] != password: print("密码错误!") return print("登录成功!") def logout(): print("注销成功!") def quit(): print("退出程序!") while True: print("===================") print("请选择操作:") print("1. 注册") print("2. 登录") print("3. 注销") print("4. 退出") print("===================") choice = input("请输入选项:") if choice == "1": register() elif choice == "2": login() elif choice == "3": logout() elif choice == "4": quit() break else: print("无效选项,请重新输入!") ``` 在上面的代码中,我们使用一个字典来存储用户信息,其中键为用户名,值为密码。在注册时,先检查用户名是否已经存在,如果不存在则将用户名和密码存储到字典中。在登录时,先检查用户名是否存在,如果存在则检查密码是否正确。在注销时,只需要打印一条消息即可。在退出时,使用`break`语句跳出程序的主循环。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值