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

时间:2019-04-19 08:52:19

标签: 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);
      }

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

Maximum call stack size exceeded

errors on terminal

1 个答案:

答案 0 :(得分:0)

您应该仅将POJO对象放入vuex。您很可能会将一些高度嵌套的对象放入其中。例如。 res.data包含您要放入vuex的一些非Pojo对象