美文网首页
4.RN将数据存储到本地19-11-19

4.RN将数据存储到本地19-11-19

作者: 你坤儿姐 | 来源:发表于2019-11-19 15:16 被阅读0次

对input中的值进行储存,获取,删除操作

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

const KEY="save_key";
class AsyncStoragePage extends Component {
  constructor(props){
    super(props);
    this.state={
      showText:''
    }
  }
  render() {
    const userStore = this.props["domain.user"];
    const navigation = this.props.navigation;
    return (
      <View>
        <Text>{this.state.showText}</Text>
        <TouchableOpacity style={{backgroundColor: '#caa',width:100,height:50}} onPress={()=>{
          this.loadData();
        }}/>

        <TextInput
           style={{height:50,width:370,backgroundColor:'#aaa'}}
           onChangeText={text => {
             this.value=text;
           }}
        />
        <View style={{}}>
          <Button title={"存储"} style={{backgroundColor: '#acc',width:100,height:50}} onPress={()=>{
            this.doSave();
          }}/>
          <Button title={"删除"} style={{backgroundColor: '#acc',width:100,height:50}} onPress={()=>{
            this.doRemove();
          }}/>
          <Button title={"获取"} style={{backgroundColor: '#acc',width:100,height:50}} onPress={()=>{
            this.getData();
          }}/>
        </View>
      </View>
    );
  }
  doSave(){
    // 用法一
    // AsyncStorage.setItem(KEY, this.value ,error => {
    //   error && console.log(error.toString());
    // })
    // 用法二
    AsyncStorage.setItem(KEY, this.value)
      .catch(error => {
        error && console.log(error.toString())
      })
    // 用法三
    // try {
    //   await AsyncStorage.setItem(KEY, this.value)
    // } catch (error) {
    //   error && console.log(error.toString())
    // }
  }

  doRemove(){
    // AsyncStorage.removeItem(KEY, (error: ?Error) => {
    //   error && console.log(error.toString());
    // })
    // 用法二
    AsyncStorage.removeItem(KEY)
      .catch(error => {
        error && console.log(error.toString())
      })
    // 用法三
    // try {
    //   await AsyncStorage.removeItem(KEY)
    // } catch (error) {
    //   error && console.log(error.toString())
    // }


  }
  getData(){
    // AsyncStorage.getItem(KEY, (error, value) => {
    //     this.setState({
    //       showText: value
    //     });
    //     console.log(value);
    //     error && console.log(error.toString());
    // })
    // 用法二
    AsyncStorage.getItem(KEY)
      .then(value => {
        this.setState({
          showText: value
        })
        console.log(value)
      })
      .catch(error => {
        error && console.log(error.toString())
      })
    // 用法三
    // try {
    //   const value = await AsyncStorage.getItem(KEY)
    //   this.setState({
    //     showText: value
    //   })
    //   console.log(value)
    // } catch(error) {
    //   error && console.log(error.toString())
    // }
  }

  loadData(){
    fetch('http://web.juhe.cn:8080/constellation/getAll?consName=%E5%8F%8C%E5%AD%90%E5%BA%A7&type=today&key=46dd5530ed37e3aa19019edfa1d6de3d')
      .then(response => {
        if (response.ok){
          return response.text();
        }
        throw new Error('Network response was not ok.');
      })
      .then(responseText => {
        this.setState({
          showText: responseText
        })
      })
      .catch(e =>{
        this.setState({
          showText:e.toString()
        })
      })
  }
}

AsyncStoragePage.navigationOptions =({ navigation }) => ( {
  title: 'Help',
  // headerLeft: (
  //   <View style={{ marginLeft: 15 }}>
  //     <TouchableOpacity onPress={() => navigation.goBack()}>
  //       <Image source={require('../../assets/images/profile_pic/baseline-chevron_left_back.png')}/>
  //     </TouchableOpacity>
  //   </View> ),
  headerTitleStyle: {
    alignSelf: "center",
    textAlign: "center",
    flex: 1
  },
});
export default AsyncStoragePage;

相关文章

  • 4.RN将数据存储到本地19-11-19

    对input中的值进行储存,获取,删除操作

  • 数据缓存

    缓存的四种方式?各自应用的场景? 缓存本质将请求到的数据存储到本地,将数据显示到UI界面前先询问本地数据库是否已经...

  • 本地存储

    API 保存数据到本地 从本地存储获取数据 本地存储中删除某个保存的数据 删除所有保存的数据 监听本地存储的变化S...

  • 微信小程序:将本地缓存数据存储到云数据库,再将云数据库数据恢复到

    云函数代码,其中两个方法: 存储本地缓存数据 获取最新的本地缓存数据 将本地存储数据上传到云数据库: 先获取本地缓...

  • python文件操作

    文件操作 1.数据本地化 将数据以文件的形式,存储到本地磁盘中。(程序中变量保存的数据都是存到内存中的,当程序运行...

  • unity 文件本地存储-BinaryFormatter序列化

    首先要说一下,这里的文件本地存储,不是指的通过http请求数据,存储到本地,(当然也可以用做本地存储数据,只是我的...

  • 性能优化

    提升页面加载速度 减少网络请求 将请求过的数据存储到本地 redux、内存、sessionStorage等 通过函...

  • vueuse的部分用法解析

    首先下载 npm i @vueuse/core 先介绍useStorage这个是将数据存储到本地内存中localS...

  • localStroage存储和解析Json

    由于localStroage 只能存储操作字符串; 所以直接将JSON数据存储的本地的时候,存到本地的只是"[ob...

  • React Native 数据存储

    RN使用AsyncStore将数据存储到本地,AsyncStorage是一个基于key-value键值对的异步持久...

网友评论

      本文标题:4.RN将数据存储到本地19-11-19

      本文链接:https://www.haomeiwen.com/subject/jcpwictx.html