【发布时间】:2019-09-09 23:03:02
【问题描述】:
我想在渲染页面之前从 firebase 实时数据库中获取数据,我正在使用 vuex 存储来处理我的所有数据。
store/index.js
state: {
loadedPosts: []
},
mutations: {
setPosts(state, posts) {
state.loadedPosts = posts;
},
},
actions: {
nuxtServerInit(vuexContext, context) {
return axios
.get("https://new-nuxt-blog.firebaseio.com/posts.json")
.then(res => {
const postsArray = [];
for (const key in res.data) {
postsArray.push({ ...res.data[key], id: key });
}
vuexContext.commit("setPosts", postsArray);
})
.catch(e => context.error(e));
},
setPosts(vuexContext, posts) {
vuexContext.commit("setPosts", posts);
}
},
但是我收到一个错误提示 RangeError 超出最大调用堆栈大小
谁能帮我解决这个错误,我试图获取的数据就是这个对象:
{"-Lcq_6OaDEff_FPWoMux":{"author":"Ayman Tarig","content":"new nuxt blog","thumbnailLink":"http://smarterware.org/wp-content/uploads/2016/09/technology1.jpg","title":"new nuxt blog"}}
【问题讨论】:
-
请在codesandbox上创建一个复制品
标签: firebase vue.js axios nuxt.js