[解決済み] ページ更新時のVuexの状態
2022-04-27 01:47:54
質問
私のアプリは、ユーザー認証にFirebase APIを使用し、ログイン状態をVuex Stateにboolean値として保存しています。
ユーザーがログインしたときに ログイン状態 で、それに応じてログイン/ログアウトボタンを条件付きで表示します。
しかし、ページをリフレッシュすると、vueアプリの状態は失われ、デフォルトにリセットされます。
このため、ユーザーがログインしている状態でページを更新した場合でも ログイン状態 に戻されます。 虚偽 と表示され、ログインしたままなのにログアウトボタンではなくログインボタンが表示される...。
この動作を防ぐにはどうしたらよいですか?
を使用しましょうか? クッキー あるいは、もっと良い解決策があるのでは...。
-
-
解決方法は?
これは既知のユースケースです。さまざまな解決策があります。
例えば
vuex-persistedstate
. このプラグインは
vuex
を使用して、ページ更新の間の状態を処理し、保存します。
サンプルコードです。
import { Store } from 'vuex'
import createPersistedState from 'vuex-persistedstate'
import * as Cookies from 'js-cookie'
const store = new Store({
// ...
plugins: [
createPersistedState({
getState: (key) => Cookies.getJSON(key),
setState: (key, state) => Cookies.set(key, state, { expires: 3, secure: true })
})
]
})
ここでやることは単純です。
-
をインストールする必要があります。
js-cookie
-
について
getState
から保存された状態を読み込もうとします。Cookies
-
オン
setState
に状態を保存します。Cookies
Docsとインストール手順。 https://www.npmjs.com/package/vuex-persistedstate
関連
-
vue3.0プロジェクトのアーキテクチャを構築するための便利なツール
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】TypeScript-のAngular Frameworkエラー - "exportAsがngFormに設定されたディレクティブはありません"
-
[解決済み】<select>で現在選択されている<option>をJavaScriptで取得するにはどうすればよいですか?
-
フロントエンド null のプロパティ 'disabled' を読み取れない 問題が解決された
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] JavaScriptでページの一番上までスクロールする?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
jsを使った簡単な照明スイッチのコード
-
JavaScriptのクロージャの説明
-
Vueにシンプルなメモ帳機能を実装
-
vueのグローバルがscss(mixin)を導入。
-
Vueのフィルタの説明
-
[解決済み】SyntaxError: JSONの位置1に予期しないトークンoがある。
-
[解決済み】Node.jsで "Cannot find module "エラーを解決するには?
-
nodejs unhandledPromiseRejectionWarning メッセージ
-
JavaScriptのStringに関する共通メソッド
-
Uncaught TypeError: null のプロパティ 'offsetHeight' を読み取れませんでした。