web-dev-qa-db-ja.com

React NativeでAsyncStorageをワイプする

私は、react-nativeのおかげでAsyncStorageに持続しているreduxアクションのデバッグに一定の時間を無駄にしていることに気付きました。 redux-persist 。 AsyncStorageを消去して、開発時間を節約し、新しいデータを試してみたい場合もあります。

編集:ベストケースは、ソリューションがシミュレーターと実際のデバイス、iOSとAndroidで動作するはずです。プラットフォームごとに異なる回避策があるかもしれません。

ありがとう

21
jsdario

すべてのクライアント、ライブラリなどのすべてのAsyncStorageを消去する clear() 関数を使用してみてください

18
Tony Vincent
clearAsyncStorage = async() => {
    AsyncStorage.clear();
}

この関数は、AsyncStorageをクリアするためにコードベースのどこにでも適用できます。たとえば、<Button>コンポーネントで呼び出す方法を次に示します。

<Button onPress={this.clearAsyncStorage}>
  <Text>Clear Async Storage</Text>
</Button>
8
hzak

_redux-persist_にはpurge()コールバックが付属しています。必要に応じて、デバッグメニューのどこかで呼び出すことができます。

4
Tom A

ソースコードに触れることなく、AsyncStorageを簡単にクリアできます。 react native debugger ;を使用するそして、devtoolsコンソールタイプで

_$reactNative.AsyncStorage.clear();
_

またはclear()を使用してRNの通常のデバッガーで呼び出すには、これを次のように配置できます。

_if (__DEV__) {
   global.clear = () => {
     AsyncStorage.clear().then(() => console.log('Cleared'))
   }
}
_
2
Alister