ReactNative(API)AsyncStorage 저장 소 상세 설명 및 인 스 턴 스

AsyncStorage 는 Android 의 shared preference 저장 소 나 IOS 의 NSDefaultUser 와 유사 하지만 ReactNative 의 AsyncStorage 는 문자열 형식 만 저장 할 수 있 습 니 다.
这里写图片描述
상용 방법:
getItem(key:string,callback?:?(error:?Error,result:?string)=>void)정적 방법 은 key 필드 를 통 해 저 장 된 데 이 터 를 조회 하고 이 결과 값 을 매개 변수 로 두 번 째 callback 방법 으로 전달 해 야 합 니 다.오류 가 발생 하면 Error 대상 을 callback 방법 으로 전송 합 니 다.이 방법 은 최종 적 으로 Promise 대상 을 되 돌려 줍 니 다.
setItem(key:string,value:string,callback?:?(error:?Error)=>void)정적 방법 입 니 다.key 필드 에 value 내용 을 설정 하고 완성 한 후에 콜백 방법 을 되 돌려 야 합 니 다.오류 가 발생 하면 Error 대상 을 callback 방법 에 전송 합 니 다.이 방법 은 Promise 대상 을 되 돌려 줍 니 다.
removeItem(key:string,callback?:?(error:?Error)=>void)정적 방법 은 key 에 따라 값 을 삭제 하고 성공 한 후 콜백 방법 을 되 돌려 줍 니 다.오류 가 발생 하면 Error 대상 을 callback 방법 에 전송 합 니 다.이 방법 은 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;



읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기