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周辺ファイルシステムのカスタマイズ方法

推薦する

JavaScriptの信頼性の低い未定義

undefined JavaScript では、値が undefined かどうかを判断したい場合は...

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

mysql-5.7.21-winx64 無料インストール版のインストール - Windows チュートリアル詳細説明

1 ダウンロードアドレスは https://dev.mysql.com/downloads/mysq...

データ URI スキームを使用して Web ページに画像を埋め込む方法の紹介

データ URI スキームを使用すると、HTML、CSS、Javascript などで使用できるインラ...

フローティング要素が親要素の高さを崩す原因と解決策の詳細な説明

フローティング要素は、親要素の高さを縮小します。要素を float float:left/right...

JS の難しさ 同期と非同期、スコープとクロージャ、プロトタイプとプロトタイプ チェーンの詳細な説明

目次JS スリーマウンテンズ同期 非同期同期と非同期の違い範囲、終了関数スコープチェーンブロックスコ...

MySQL インデックスの長所と短所、およびインデックス作成のガイドライン

1. インデックスを作成する理由(メリット)インデックスを作成するとシステムのパフォーマンスが大幅に...

JavaScript キャンバス テキスト クロック

この記事では、テキストクロックを実装するためのキャンバスの具体的なコードを例として紹介します。具体的...

オペレーターが知っておくべき 18 個の Nginx プロキシ キャッシュ構成のヒント (どれを知っていますか?)

アプリケーションや Web サイトのパフォーマンスが成功の重要な要素であることは誰もが知っています。...

Linuxターミナルでファイルを作成する2つの一般的な方法を簡単に理解する

mkdir コマンドを使用して新しいディレクトリを作成できることは誰もが知っていますが、多くの場合、...

HTML5+CSS3コーディング標準

黄金律プロジェクトに何人の人が取り組んでいるかに関係なく、すべてのコード行が同じ人によって書かれたよ...

データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

データベースは、どのオブジェクトにどのフィールドが含まれているかを照会します。 *を選択 sysob...

Linux でログインタイムアウト後に非アクティブなユーザーを自動的にログアウトする

方法1: .bashrcまたは.bash_profileファイルを変更するこれは、ホーム ディレクト...

Vueプロジェクトでパラメータジャンプ機能を実装する

ページの説明:​ メインページ: 名前 —> shishengzuotanhuichaxun ...