2015-11-18 16 views
7

オブジェクトとデータの配列をReact Nativeにローカルに格納する方法を探しています。これはどうすればできますか?React Nativeにデータをローカルに格納する方法(文字列ではない)

静的SetItem関数(キー:文字列値:文字列、コールバック?:(エラー:??エラー)=>無効)AsyncStorageするためのAPIを見てみるとキーの
設定値と完了時にコールバックを呼び出します、エラーがある場合はエラーとともに表示されます。 Promiseオブジェクトを返します。

React Nativeにオブジェクトと配列をローカルに格納するにはどうすればよいですか?

答えて

16

JSON.stringify({})を使用して、データ構造体を文字列に変換できます。

JSON.parse()を使用して文字列を元のデータ構造に戻すことができます。

これにより、アプリ全体で定型的なコードを削除することができます。以下の例では、window.localStorageを「永続的な」格納場所として使用しています。あなたが合っているようにそれを適応させてください。

var StorageService = function () {}; 

StorageService.prototype.get = function (key) { 
    return JSON.parse(window.localStorage.getItem(key)); 
}; 

StorageService.prototype.set = function (key, value) { 
    return window.localStorage.setItem(key, JSON.stringify(value)); 
}; 
+4

@NaderDabitあなたは、私がお勧めしJSON.stringifyとJSON.parseを心配する必要はしたくない場合は、[反応するネイティブ・シンプル・ストア](https://www.npmjs.com/package /反応 - ネイティブシンプルストア)。ボイラープレートの一部をAsyncStorageから取り出します。 – jasonmerino

+0

@jasonmerinoおい、あなたのコメントは最高の答えになるはずです。 – ProteanDev

+1

待って、第三者のコンポーネントを使用してyhを受け入れる必要があります答え、バニラjsのいくつかの行は、仕事をしますか? :/ –