vuexの強制リフレッシュによるデータ損失問題の分析

vuexの強制リフレッシュによるデータ損失問題の分析

vuex 永続状態

  1. 基本原則: すべての vuex データをローカルストレージに保存し、ページが更新されたときにキャッシュからデータを取得して vuex に格納する
  2. ダウンロード: $ npm install vuex-persistedstate -S
  3. ストアにプラグインを導入する
'vuex-persistedstate' から persistedState をインポートします。
定数ストア = 新しい Vuex.Store({
  // ...
  プラグイン: [persistedState()]
})

vuex-persistedstateデフォルトでストレージにlocalStorageを使用します。sessionStorageを使用する場合は、次の設定を使用できます。

「vuex-persistedstate」からpersistedStateをインポートします。
定数ストア = 新しい Vuex.Store({
  // ...
  プラグイン: [persistedState ({
      ストレージ: window.sessionStorage
  })]
})
  • クッキーを使用する場合は、次の設定を使用できます。
  • ダウンロード: $ npm install js-cookie -S
'js-cookie' から Cookies をインポートします。
「vuex-persistedstate」からpersistedStateをインポートします。
定数ストア = 新しい Vuex.Store({
  // ...
  プラグイン: [persistedState ({
      ストレージ:
		getItem: キー => Cookies.get(キー),
		setItem: (キー、値) => Cookies.set(キー、値)、
		削除アイテム: キー => Cookies.remove(キー)
	}
  })]
})

セキュア-ls

  • 暗号化されたストレージ
  • ユーザー情報を vuex に保存すると、使用がはるかに便利になりますが、vuex がページを更新するときにデータが失われる問題を解決するために、 vuex-persistedstateプラグインが使用されます。vuex vuex-persistedstate暗号化されず、ユーザーの情報がキャッシュに公開されます。
  • これは非常に危険なので、ストレージを暗号化するにはsecure-lsを使用する必要があります。
  • ダウンロード: $ npm install secure-ls -S
「vue」からVueをインポートします。
「vuex」からVuexをインポートします。
'secure-ls' から SecureLS をインポートします。
「vuex-persistedstate」からpersistedStateをインポートします。

const ls = 新しいSecureLS({
	encodingType: "aes", // 暗号化方式 isCompression: false, // データ圧縮を有効にするかどうか encodingSecret: "old-beauty" // 
});

Vue.js で Vuex をビルドします。

デフォルトの新しいVuex.Storeをエクスポートします({
	...
	プラグイン: [persistedState({
		// キー: "123123", // ストレージに保存するキー
		ストレージ:
			getItem: キー => ls.get(キー),
			setItem: (キー、値) => ls.set(キー、値)、
			削除アイテム: キー => ls.remove(キー)
		}
	})],
});

[注意] vuex-persist(不兼容ie) vuex-persistedstate

これで、vuex 強制データ損失に関するこの記事は終了です。vuex データ損失に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Vuex ページの更新後にデータを失う方法
  • vuex が複雑なパラメータ (オブジェクト配列など) を格納するときにデータ損失を更新するソリューション
  • vuex ページの更新によるデータ損失の解決策
  • vuex リフレッシュ後のデータ損失の解決策
  • vuex ページを更新するときにデータ損失が発生する問題に対する 4 つの解決策

<<:  mysql は sql ファイルを実行し、エラーを報告します エラー: 不明なストレージ エンジン 'InnoDB' ソリューション

>>:  Linux周辺ファイルシステムのカスタマイズ方法

推薦する

html リンク タグ タイトル属性 改行 マウス ホバー プロンプト コンテンツ 改行効果

オブジェクト上にマウスを移動したときにコンテンツ(タイトル属性の内容)を折り返す方法、HTML タイ...

Vue コンポーネント (Vuex を含む) 間の値の転送に関する簡単な説明

目次父から息子へ:息子から父へ: Vuex を使用せずにコンポーネント間で値を渡す方法は、親から子、...

HTML の基本概要推奨事項 (段落)

HTML段落段落は <p> タグによって定義されます。例<p>これは段落で...

フロントエンドページのスライド検証を実装するための JavaScript + HTML

この記事では、フロントエンドページのスライド検証を実装するためのJavaScript + HTMLの...

Linuxでmore、less、catコマンドを使用してファイルの内容を表示します

Linux では、cat、more、less の各コマンドを使用してファイルの内容を表示できます。c...

開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]

システム パフォーマンスの専門家である Brendan D. Gregg 氏は、LinuxCon N...

K8Sの5つのコントローラーの紹介と使用

目次k8sのコントローラータイプポッドとコントローラの関係デプロイメント(ステートレスアプリケーショ...

Innodb システムテーブルスペースのメンテナンス方法

環境説明:実行中の MySQL 環境があります。以前の構成ファイルの設定が単純すぎたため (inno...

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...

Typescript+React でモバイルと PC でシンプルなドラッグ アンド ドロップ効果を実現

この記事では、モバイルとPCで簡単なドラッグアンドドロップ効果を実現するためのTypescript ...

MySQL の FIND_IN_SET() と IN の違いを簡単に分析します

以前、あるプロジェクトでMysql FIND_IN_SET関数を使用したことがありますが、非常に便利...

自動開始および停止コマンドを適用するには、Docker サービスを再起動します (推奨)

Docker サービス アプリケーションを再起動するコマンドを見てみましょう。具体的な内容は次のと...

MySQL数千万の大規模データに対する30のSQLクエリ最適化テクニックの詳細な説明

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...