React Native(API)Aync Strage記憶詳細および実例


Async StrageはAndroidのsharepreferenceストレージまたはIOSのNSDefaultUserのようなReactNativeのAsync Strageを記憶していますが、文字列タイプのみを記憶することができます。
这里写图片描述
常用方法:
getItem(key:string,calback)?error:エリロ、レスリング:string)=>void)は、keyフィールドを介してクエリー格納データを行い、その結果値をパラメータとして第2のcalback方法に入力する静的方法である。エラーが発生したら、エロエロオブジェクトをcalback方法に伝えます。この方法は最終的にPromiseオブジェクトに戻ります。
setItem(key:string,value:string,calback)?error:Errer=>void)は、keyフィールドに従ってvalueコンテンツを設定し、完了したらコールバック方法を行う静的方法である。エラーが発生したら、エロエロオブジェクトをcalbackメソッドに伝えます。この方法はPromiseオブジェクトを返します。
removeItem(key:string,calback)?error:Errer=>void)の静的な方法で、keyによって削除値を行い、成功したらコールバック方法を行います。エラーが発生したら、エロエロオブジェクトをcalbackメソッドに伝えます。この方法はPromiseオブジェクトを返します。

/**
 * Created by Administrator on 2016/9/12.
 */
import React, {Component} from 'react';
import {
  StyleSheet,
  View,
  Text,
  AsyncStorage
} from 'react-native';

var keyName = 'name';
var keyValue = '  ';
class AsyncStorageG extends Component {

  constructor(props) {
    super(props);
    this.state = {
      result: '   '
    };
  }

  render() {
    return (

      <View style={{flex: 1}}>
        <Text
          style={styles.text}
          onPress={this.save.bind(this)}> </Text>
        <Text
          style={styles.text}
          onPress={()=>this.load()}> </Text>
        <Text
          style={styles.text}
          onPress={()=> this.remove()}>  </Text>

        <Text
          style={styles.text}
        >      ------------------{this.state.result}</Text>
      </View>

    )
  }

  /**
   *    
   */
  save() {
    //this       
    this2 = this;
    AsyncStorage.setItem(keyName, keyValue, function (error) {
      if (error) {
        alert('    ');
      } else {
        this2.setState(
          {
            result: '      ,      !!!'
          }
        )
      }
    })
  }

  /**
   *    
   */
  load() {
    //this       
    this2 = this;
    AsyncStorage.getItem(keyName, function (error, result) {
      if (!error) {
        this2.setState(
          {
            result: result === null ? '      ,       ' : result
          }
        )
      }
    })
  }

  /**
   *     :
   *         key  
   *           
   */
  remove() {
    //this       
    this2 = this;
    AsyncStorage.removeItem(keyName, function (error) {

      if (!error) {
        this2.setState(
          {
            result: '      '
          }
        )
      }

    })
  }

}

const styles = StyleSheet.create({
  text: {
    fontSize: 20
  }
});

//es6  
export default AsyncStorageG;



読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。