gpt4 book ai didi

javascript - AsyncData 与 nuxtServerInit

转载 作者:搜寻专家 更新时间:2023-10-30 22:49:22 24 4
gpt4 key购买 nike

我为授权用户和用户 token 设置了一些 cookie。

在那之后,在每个 nuxtServerInit 上,我都会检查 cookie 中的相同数据并将它们设置在存储中。

当我在某些页面中使用 asyncaData 时,似乎 asyncDatanuxtServerInit 之前开始......

async asyncData (context) {
console.log(context.store.getters['auth/getToken'])
}

在此日志中,我得到 null 或状态中预先设置的任何内容:

export default () => ({
user: null,
token: null
})

我有模块存储,其中我有 auth 模块index.js、actions.js、mutations.js、state.js 和 getters.js

在我的行动中:

export const nuxtServerInit = ({ commit, getters }, { req, res }) => {
commit('setToken', 'token')
console.log('WORKING...')
}

当我使用 asyncData 方法刷新页面时出现错误,getToken getter 返回 null 而不是 'token' 字符串。 nuxtServerInit 中的 console.log 永远不会触发。

从这里GitHub page它说 nuxtServerInit 应该先触发,然后在 asyncData 之后触发。

在我的情况下它不起作用....

有什么想法吗?

最佳答案

nuxtServerInit 是一个 Action ,需要包含在您的商店文件的 Action 导出中:

export const actions = {
nuxtServerInit = ({ commit, getters }, { req, res }) => {
commit('setToken', 'token')
console.log('WORKING...')
}
}

另请注意,这需要位于您商店的根模块 (index.js) 中才能正常工作

关于javascript - AsyncData 与 nuxtServerInit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57574304/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com