LoginSignup
23
18

More than 5 years have passed since last update.

Nuxtのmiddleware上でのredirectには注意

Posted at

現象

Nuxtで認証チェックを行う時に、middlewareを使うことがあると思います。

middleware
export default function ({ store, redirect, route }) {
  let token = sessionStorage.getItem('kintai-token');
    if (token) {
      return Promise.resolve()
    } else {
      redirect('/signin')
    }
}

リダイレクトした際、一瞬だけlayoutが適用される前のページが表示されてしまいます。

解決方法

リダイレクトの方法を変更します。

middleware
export default function ({ store, redirect, route }) {
  let token = sessionStorage.getItem('kintai-token');
    if (token) {
      return Promise.resolve()
    } else {
      window.location.href = '/signin'
      return new Promise((resolve) => {
                // 完全にレンダリングされたらリダイレクトされる
      })
    }
}
23
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
23
18