有没有一种方法可以不使用fetch()方法而在服务器端更新store.根据Nuxt文档,fetch已经被废弃了,我不想使用废弃的功能。
我正在尝试使用asyncData(),但是当我试图更新store状态时,却没有工作。
你可以调用 store
方法直接从 asyncData
并更新你的商店。
async asyncData ({ store }) {
const payload = 'your payload';
store.dispatch('yourActionName', payload);
}
我终于解决了这个问题。首先我从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
}
}