Question: When using nuxt.js `fetch()`, whenever I reload the page, it does not fetch it again. Only if I come from a router-link. How do I force it to actually refetch from my API?

```js
export default {
    async fetch() {
        const data = await this.$axios.$get(`/users/${this.$route.params.name}`)
        this.user = data
    },
    data() {
        return {
            user: []
        }
    }
}

```

Every page I look at, they always show placeholders on page refresh, WHILE refetching from their APIs, why does my Nuxt.js app not do that when refreshing? It is just not refetching the data from my API, which is weird.

Answer: 
I believe, in Nuxt.JS, the fetch method is only called on rendering from router navigation - a manual reload would not trigger this.

Perhaps you could construct a mixin using `beforeMount()` instead of `fetch()` and apply this to the pages where this was required.

Or of course, just on the page itself:

```
async beforeMount() {
    const data = await this.$axios.$get(`/users/${this.$route.params.name}`)
    this.user = data
},

```

<https://nuxtjs.org/blog/understanding-how-fetch-works-in-nuxt-2-12/>
Seems no viable solution for reload issue when doing Nuxt static site. An option for me is calling fetch in mounted hook if data wasn't not loaded in fetch hook:

```
  mounted() {
     if (!this.loaded) this.$fetch()
  },

```

[Fetch as a method](https://nuxtjs.org/blog/understanding-how-fetch-works-in-nuxt-2-12#fetch-as-a-method)