ExpoアプリでlocalStorageを使いたい

Expoで開発中に手軽に設計値を永続化したくなった。JavaScriptだとlocalStorageを使うようなシーン。

で、調べてみると、AsyncStorageを使うみたい。React NativeのドキュメントではDeprecatedになっていて、別のライブラリを使うように書いてあるが、Expoだとちょっと面倒くさいみたいなので、気にせず使った。

export async function getConfig() {
  const configStr = await AsyncStorage.getItem(KEY);
  return configStr ? JSON.parse(configStr) : initialConfig;
}

export async function saveConfig(config) {
  await AsyncStorage.setItem(KEY, JSON.stringify(config));
}

みたいな感じ。文字列しか保存できないので、JSON.stringfyして保存する。

ちなみにWebにビルドした時はlocalStorageに保存される。

コメントを残す