0

AsyncStorage に関するドキュメント サンプルに従いました。

React Native - AsyncStorage ドキュメント

. だから、私は自分のコードを実装しました:

var STORAGE_KEY = '@AsyncStorageExample:key';

そして、私はこの関数でクラスを定義します:

私は初期状態を持っています:

state={
  defineValor: 0,
};

componentDidMount関数と_loadInitialState:

componentDidMount() {
  this._loadInitialState().done();
};

_loadInitialState = async () => {
  try {
    var value = await AsyncStorage.getItem(STORAGE_KEY);
    if (value !== null){
      this.setState({defineValor: value});
      alert('Recovered selection from disk: ' + value);
    } else {
      alert('Initialized with no selection on disk.');
    }
  } catch (error) {
    alert('AsyncStorage error: ' + error.message);
  }
};

そこで、AsyncStorage とドキュメントで状態を変更する関数を作成しました。

changeState = () => {
  this.setState ({
    defineValor: 1
  });
  try {
    AsyncStorage.setItem(STORAGE_KEY, this.state.defineValor);
    alert('Saved selection to disk: ' + this.state.defineValor);
  } catch (error) {
    alert('AsyncStorage error: ' + error.message);
  }
};

したがって、アプリを開くと、すべてのプロセスが実行され、「ディスク上に選択なしで初期化されました」というアラートが表示され、関数changeStateを呼び出すと、「ディスクに選択が保存されました: 1」というアラートが表示されます。しかし、アプリを閉じて再度開くと、状態が保存されず、「ディスク上で選択されていない状態で初期化されました。」というアラートが表示されます。私は何を間違っていますか?

4

1 に答える 1