Revert storage persister change to async storage

Keep the query client persister using AsyncStorage to maintain
the existing memory optimization. The sync storage change can
be evaluated separately.
This commit is contained in:
skalthoff
2026-02-04 18:41:23 -08:00
parent 92ee2770d8
commit fa97e8cfce
3 changed files with 22 additions and 11 deletions

View File

@@ -20,7 +20,6 @@
"@shopify/flash-list": "2.2.1",
"@tamagui/config": "1.144.3",
"@tanstack/query-async-storage-persister": "5.90.12",
"@tanstack/query-sync-storage-persister": "^5.90.22",
"@tanstack/react-query": "5.90.12",
"@tanstack/react-query-persist-client": "5.90.12",
"@testing-library/react-native": "13.3.3",
@@ -837,8 +836,6 @@
"@tanstack/query-persist-client-core": ["@tanstack/query-persist-client-core@5.91.9", "", { "dependencies": { "@tanstack/query-core": "5.90.10" } }, "sha512-LliMZl/pkO/6vRf5//fO8nl4UCfM1LQsnT+N0aRYkK7bqoM3QdqHxD65EApmJRypKkqaWmiyulPG3Mi1NYuyIA=="],
"@tanstack/query-sync-storage-persister": ["@tanstack/query-sync-storage-persister@5.90.22", "", { "dependencies": { "@tanstack/query-core": "5.90.20", "@tanstack/query-persist-client-core": "5.91.19" } }, "sha512-QoOHewbI9a/7hezbVXlZOOCkF4oTnOpAGNMYiObUZm+jpEoLF5YqGMg0iDv3laSEymz81Zw8HJ8UFxP7mwEmqw=="],
"@tanstack/react-query": ["@tanstack/react-query@5.90.12", "", { "dependencies": { "@tanstack/query-core": "5.90.12" }, "peerDependencies": { "react": "^18 || ^19" } }, "sha512-graRZspg7EoEaw0a8faiUASCyJrqjKPdqJ9EwuDRUF9mEYJ1YPczI9H+/agJ0mOJkPCJDk0lsz5QTrLZ/jQ2rg=="],
"@tanstack/react-query-persist-client": ["@tanstack/react-query-persist-client@5.90.12", "", { "dependencies": { "@tanstack/query-persist-client-core": "5.91.9" }, "peerDependencies": { "@tanstack/react-query": "^5.90.10", "react": "^18 || ^19" } }, "sha512-o51hwImpKgb85FnFljtCXcUzuLXpKONF9N6bhKfifPL3SNSj8neh1a2aHQd7sN9mbeIeNfGMGJuDpSt/Fc3GwQ=="],
@@ -2627,10 +2624,6 @@
"@react-native/metro-babel-transformer/@babel/core": ["@babel/core@7.28.5", "", { "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.28.3", "@babel/helpers": "^7.28.4", "@babel/parser": "^7.28.5", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw=="],
"@tanstack/query-sync-storage-persister/@tanstack/query-core": ["@tanstack/query-core@5.90.20", "", {}, "sha512-OMD2HLpNouXEfZJWcKeVKUgQ5n+n3A2JFmBaScpNDUqSrQSjiveC7dKMe53uJUg1nDG16ttFPz2xfilz6i2uVg=="],
"@tanstack/query-sync-storage-persister/@tanstack/query-persist-client-core": ["@tanstack/query-persist-client-core@5.91.19", "", { "dependencies": { "@tanstack/query-core": "5.90.20" } }, "sha512-whrASqbVq8261Ue+/ZzpHsrLDYVfRaENs4HTdLuYKxawkGWzdMfV7BmOdWl8ZF0mEBEbrQR8V6oE3R635JF2Fw=="],
"@tanstack/react-query/@tanstack/query-core": ["@tanstack/query-core@5.90.12", "", {}, "sha512-T1/8t5DhV/SisWjDnaiU2drl6ySvsHj1bHBCWNXd+/T+Hh1cf6JodyEYMd5sgwm+b/mETT4EV3H+zCVczCU5hg=="],
"@types/babel__core/@babel/parser": ["@babel/parser@7.28.5", "", { "dependencies": { "@babel/types": "^7.28.5" }, "bin": "./bin/babel-parser.js" }, "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ=="],

View File

@@ -52,7 +52,6 @@
"@shopify/flash-list": "2.2.1",
"@tamagui/config": "1.144.3",
"@tanstack/query-async-storage-persister": "5.90.12",
"@tanstack/query-sync-storage-persister": "^5.90.22",
"@tanstack/react-query": "5.90.12",
"@tanstack/react-query-persist-client": "5.90.12",
"@testing-library/react-native": "13.3.3",

View File

@@ -1,9 +1,24 @@
import { createMMKV } from 'react-native-mmkv'
import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister'
import { createAsyncStoragePersister } from '@tanstack/query-async-storage-persister'
import { AsyncStorage as TanstackAsyncStorage } from '@tanstack/react-query-persist-client'
import { StateStorage } from 'zustand/middleware'
import AsyncStorage from '@react-native-async-storage/async-storage'
export const storage = createMMKV()
const storageFunctions = {
setItem: async (key: string, value: string) => {
await AsyncStorage.setItem(key, value)
},
getItem: async (key: string) => {
const value = await AsyncStorage.getItem(key)
return value === undefined ? null : value
},
removeItem: async (key: string) => {
await AsyncStorage.removeItem(key)
},
}
const mmkvStorageFunctions = {
setItem: (key: string, value: string) => {
storage.set(key, value)
@@ -17,8 +32,12 @@ const mmkvStorageFunctions = {
},
}
export const queryClientPersister = createSyncStoragePersister({
storage: mmkvStorageFunctions,
const clientStorage: TanstackAsyncStorage<string> = storageFunctions
export const queryClientPersister = createAsyncStoragePersister({
storage: clientStorage,
})
export const stateStorage: StateStorage = storageFunctions
export const mmkvStateStorage: StateStorage = mmkvStorageFunctions