Rn AsyncStorage数据保存

2018-11-11  本文已影响30人  废材helloword

export default class Zhuxiao extends Component {

  constructor(props) {

    super(props);

    this.state = {

      name: "",

      denglu: false,

      value: false,

      tt: ""

    };

  }

  componentDidMount() {

    this.shifou();

  }

  shifou = async () => {

    let na = await AsyncStorage.getItem("name");

    if (na) {

      this.setState({

        name: na,

        denglu: true

      });

    } else {

      this.setState({

        name: na,

        denglu: false

      });

    }

  };

  gettext = tt => {

    this.setState({

      tt: tt

    });

  };

  render() {

    return (

      <View>

        {this.state.denglu ? (

          <View>

            <Text>{this.state.name}</Text>

            <Button

              title="注销"

              onPress={async () => {

                await AsyncStorage.clear();

                this.props.navigation.navigate("Login");

              }}

            />

          </View>

        ) : (

          <Button

            title="请登录"

            onPress={() => {

              this.props.navigation.navigate("Login");

            }}

          />

        )}

        <Switch

          value={this.state.value}

          onValueChange={value => {

            this.setState({

              value: value

            });

          }}

        />

        {this.state.value && (

          <View>

            <TextInput onChangeText={this.gettext} />

            <View>

              <Button

                title="添加"

                onPress={async () => {

                  await AsyncStorage.setItem("tt", this.state.tt);

                }}

              />

              <Button

                title="删除"

                onPress={async () => {

                  await AsyncStorage.clear();

                }}

              />

              <Button

                title="查询"

                onPress={async () => {

                  const aa = await AsyncStorage.getItem("tt");

                  ToastAndroid.show(aa, ToastAndroid.SHORT);

                }}

              />

            </View>

          </View>

        )}

      </View>

    );

  }

}

。。。。。。。。。。。。。。。。。。。

export default class Login extends Component {

  constructor(props) {

    super(props);

    this.state = {

      name: "",

      denglu: false

    };

  }

  change = text => {

    this.setState({

      name: text,

      denglu: true

    });

  };

  render() {

    return (

      <View>

        <TextInput onChangeText={this.change} />

        <Text>{this.state.name}</Text>

        <View>

          <Button

            title="登陆"

            onPress={async () => {

              await AsyncStorage.setItem("name", this.state.name);

              this.props.navigation.navigate("Zhuxiao");

            }}

          />

        </View>

      </View>

    );

  }

上一篇 下一篇

猜你喜欢

热点阅读