在服务器端更新Nuxt存储而不使用fetch(已废弃)

问题描述 投票:0回答:1

有没有一种方法可以不使用fetch()方法而在服务器端更新store.根据Nuxt文档,fetch已经被废弃了,我不想使用废弃的功能。

我正在尝试使用asyncData(),但是当我试图更新store状态时,却没有工作。

vuex nuxt.js
1个回答
1
投票

你可以调用 store 方法直接从 asyncData 并更新你的商店。

async asyncData ({ store }) {
  const payload = 'your payload';

  store.dispatch('yourActionName', payload);
}

0
投票

我终于解决了这个问题。首先我从API中获取数据,然后将数据推送到商店。

  async asyncData(context) {
     const cookies = new Cookies(context.req.headers.cookie)
     const access_token = cookies.get('access_token')
     const response = await context.$axios
        .$get('/user/details/username/' + context.params.username, {
           headers: {
              "Authorization": "Bearer " + access_token
           }
     })
     context.store.dispatch('user/user/getUserByUsername', response)
     return {
        user: response
     }
  }
© www.soinside.com 2019 - 2024. All rights reserved.