跳到主要內容
Tauri

@tauri-apps/plugin-store

類別

LazyStore

後端層持久化的延遲載入鍵值儲存區。

實作

  • IStore

建構函式

new LazyStore()
new LazyStore(path, options?): LazyStore

請注意,如果其他人已建立儲存區,則選項不會套用

參數
參數類型描述
pathstring儲存區在 app_data_dir 中的儲存路徑
options?StoreOptions儲存區配置選項
回傳

LazyStore

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L96

方法

clear()
clear(): Promise<void>

清除儲存區,移除所有鍵值對。

注意:若要清除儲存空間並將其重設為 default 值,請改用 reset

回傳

Promise<void>

實作自

IStore.clear

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L124

close()
close(): Promise<void>

關閉儲存區並從記憶體中清除此資源。您不應再對此物件呼叫任何方法,且應捨棄對它的任何參考。

回傳

Promise<void>

實作自

IStore.close

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L169

delete()
delete(key): Promise<boolean>

從儲存區中移除鍵值對。

參數
參數類型描述
keystring
回傳

Promise<boolean>

實作自

IStore.delete

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L120

entries()
entries<T>(): Promise<[string, T][]>

傳回儲存區中所有條目的列表。

類型參數
類型參數
T
回傳

Promise<[string, T][]>

實作自

IStore.entries

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L140

get()
get<T>(key): Promise<undefined | T>

傳回指定 key 的值,如果該鍵不存在,則傳回 undefined

類型參數
類型參數
T
參數
參數類型描述
keystring
回傳

Promise<undefined | T>

實作自

IStore.get

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L112

has()
has(key): Promise<boolean>

如果指定的 key 存在於儲存區中,則傳回 true

參數
參數類型描述
keystring
回傳

Promise<boolean>

實作自

IStore.has

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L116

init()
init(): Promise<void>

如果儲存區尚未載入,則初始化/載入儲存區

回傳

Promise<void>

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L104

keys()
keys(): Promise<string[]>

傳回儲存區中所有鍵的列表。

回傳

Promise<string[]>

實作自

IStore.keys

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L132

length()
length(): Promise<number>

傳回儲存區中鍵值對的數量。

回傳

Promise<number>

實作自

IStore.length

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L144

onChange()
onChange<T>(cb): Promise<UnlistenFn>

監聽儲存區的變更。

類型參數
類型參數
T
參數
參數類型描述
cb(key, value) => void
回傳

Promise<UnlistenFn>

一個 Promise,解析為一個取消監聽事件的函式。

Since

2.0.0

實作自

IStore.onChange

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L163

onKeyChange()
onKeyChange<T>(key, cb): Promise<UnlistenFn>

監聽儲存區鍵的變更。

類型參數
類型參數
T
參數
參數類型描述
keystring
cb(value) => void
回傳

Promise<UnlistenFn>

一個 Promise,解析為一個取消監聽事件的函式。

Since

2.0.0

實作自

IStore.onKeyChange

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L156

reload()
reload(): Promise<void>

嘗試將儲存區 path 上的磁碟狀態載入到記憶體中。

如果磁碟狀態是由使用者編輯的,且您想要同步變更,則此方法很有用。

注意:此方法不會發出變更事件。

回傳

Promise<void>

實作自

IStore.reload

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L148

reset()
reset(): Promise<void>

將儲存區重設為其 default 值。

如果未設定預設值,則此方法的行為與 clear 相同。

回傳

Promise<void>

實作自

IStore.reset

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L128

save()
save(): Promise<void>

將儲存區儲存到磁碟上的儲存區 path

回傳

Promise<void>

實作自

IStore.save

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L152

set()
set(key, value): Promise<void>

將鍵值對插入儲存區。

參數
參數類型描述
keystring
valueunknown
回傳

Promise<void>

實作自

IStore.set

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L108

values()
values<T>(): Promise<T[]>

傳回儲存區中所有值的列表。

類型參數
類型參數
T
回傳

Promise<T[]>

實作自

IStore.values

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L136


Store

由後端層持久化的鍵值儲存區。

繼承自

  • 資源

實作

  • IStore

存取器

rid
取得簽章
get rid(): number
回傳

number

繼承自

Resource.rid

來源: undefined

方法

clear()
clear(): Promise<void>

清除儲存區,移除所有鍵值對。

注意:若要清除儲存空間並將其重設為 default 值,請改用 reset

回傳

Promise<void>

實作自

IStore.clear

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L259

close()
close(): Promise<void>

從記憶體中銷毀和清除此資源。您不應再對此物件呼叫任何方法,且應捨棄對它的任何參考。

回傳

Promise<void>

實作自

IStore.close

繼承自

Resource.close

來源: undefined

delete()
delete(key): Promise<boolean>

從儲存區中移除鍵值對。

參數
參數類型描述
keystring
回傳

Promise<boolean>

實作自

IStore.delete

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L252

entries()
entries<T>(): Promise<[string, T][]>

傳回儲存區中所有條目的列表。

類型參數
類型參數
T
回傳

Promise<[string, T][]>

實作自

IStore.entries

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L275

get()
get<T>(key): Promise<undefined | T>

傳回指定 key 的值,如果該鍵不存在,則傳回 undefined

類型參數
類型參數
T
參數
參數類型描述
keystring
回傳

Promise<undefined | T>

實作自

IStore.get

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L237

has()
has(key): Promise<boolean>

如果指定的 key 存在於儲存區中,則傳回 true

參數
參數類型描述
keystring
回傳

Promise<boolean>

實作自

IStore.has

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L245

keys()
keys(): Promise<string[]>

傳回儲存區中所有鍵的列表。

回傳

Promise<string[]>

實作自

IStore.keys

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L267

length()
length(): Promise<number>

傳回儲存區中鍵值對的數量。

回傳

Promise<number>

實作自

IStore.length

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L279

onChange()
onChange<T>(cb): Promise<UnlistenFn>

監聽儲存區的變更。

類型參數
類型參數
T
參數
參數類型描述
cb(key, value) => void
回傳

Promise<UnlistenFn>

一個 Promise,解析為一個取消監聽事件的函式。

Since

2.0.0

實作自

IStore.onChange

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L302

onKeyChange()
onKeyChange<T>(key, cb): Promise<UnlistenFn>

監聽儲存區鍵的變更。

類型參數
類型參數
T
參數
參數類型描述
keystring
cb(value) => void
回傳

Promise<UnlistenFn>

一個 Promise,解析為一個取消監聽事件的函式。

Since

2.0.0

實作自

IStore.onKeyChange

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L291

reload()
reload(): Promise<void>

嘗試將儲存區 path 上的磁碟狀態載入到記憶體中。

如果磁碟狀態是由使用者編輯的,且您想要同步變更,則此方法很有用。

注意:此方法不會發出變更事件。

回傳

Promise<void>

實作自

IStore.reload

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L283

reset()
reset(): Promise<void>

將儲存區重設為其 default 值。

如果未設定預設值,則此方法的行為與 clear 相同。

回傳

Promise<void>

實作自

IStore.reset

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L263

save()
save(): Promise<void>

將儲存區儲存到磁碟上的儲存區 path

回傳

Promise<void>

實作自

IStore.save

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L287

set()
set(key, value): Promise<void>

將鍵值對插入儲存區。

參數
參數類型描述
keystring
valueunknown
回傳

Promise<void>

實作自

IStore.set

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L229

values()
values<T>(): Promise<T[]>

傳回儲存區中所有值的列表。

類型參數
類型參數
T
回傳

Promise<T[]>

實作自

IStore.values

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L271

get()
static get(path): Promise<null | Store>

取得已載入的儲存區。

如果儲存區未載入,則傳回 null。 在此情況下,您必須 load 它。

當您已經知道儲存區已載入且只需要存取其執行個體時,此函式更有用。 否則,請優先使用 Store.load

參數
參數類型描述
pathstring儲存區的路徑。
回傳

Promise<null | Store>

範例
import { Store } from '@tauri-apps/api/store';
let store = await Store.get('store.json');
if (!store) {
store = await Store.load('store.json');
}

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L223

load()
static load(path, options?): Promise<Store>

建立新的儲存區或載入具有該路徑的現有儲存區。

參數
參數類型描述
pathstring儲存區在 app_data_dir 中的儲存路徑
options?StoreOptions儲存區配置選項
回傳

Promise<Store>

範例
import { Store } from '@tauri-apps/api/store';
const store = await Store.load('store.json');

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L196

類型別名

StoreOptions

type StoreOptions: object;

建立儲存區的選項

類型宣告

名稱類型描述定義於
autoSave?boolean | number在修改時自動儲存,並具有毫秒為單位的 debounce 持續時間,預設為 100 毫秒,傳入 false 以停用它來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L24
createNew?boolean強制建立具有預設值的新儲存區,即使它已存在。來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L36
deserializeFnName?string在 rust 端插件建構器中註冊的反序列化函式名稱來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L32
serializeFnName?string在 rust 端插件建構器中註冊的序列化函式名稱來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L28

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L20

函式

getStore()

function getStore(path): Promise<Store | null>

取得已載入的儲存區。

如果儲存區未載入,則傳回 null。 在此情況下,您必須 load 它。

當您已經知道儲存區已載入且只需要存取其執行個體時,此函式更有用。 否則,請優先使用 Store.load

參數

參數類型描述
pathstring儲存區的路徑。

回傳

Promise<Store | null>

範例

import { getStore } from '@tauri-apps/api/store';
const store = await getStore('store.json');

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L74


load()

function load(path, options?): Promise<Store>

建立新的儲存區或載入具有該路徑的現有儲存區。

參數

參數類型描述
pathstring儲存區在 app_data_dir 中的儲存路徑
options?StoreOptions儲存區配置選項

回傳

Promise<Store>

範例

import { Store } from '@tauri-apps/api/store';
const store = await Store.load('store.json');

來源: https://github.com/tauri-apps/plugins-workspace/blob/v2/plugins/store/guest-js/index.ts#L51


© 2025 Tauri Contributors. CC-BY / MIT