如何解决nuxt.js中的最大调用堆栈大小超出错误

Aym*_*rig 5 vue.js vuex nuxt.js

我正在尝试使用 axios 从 firebase 获取数据。我正在使用 vuex 存储来处理我的所有数据。

我有这两个操作来获取数据并存储它:

nuxtServerInit(vuexContext, context) {
        return axios
          .get("https://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);
      }
Run Code Online (Sandbox Code Playgroud)

我不知道这段代码有什么问题,但它给了我这个错误:

超出最大调用堆栈大小

终端错误

Ald*_*und 6

您应该只将 POJO 对象放入 vuex。很可能您将一些嵌套严重的对象放入其中。例如,res.data包含一些您正在放入 vuex 的非 Pojo 对象