我分派一个操作来获取/songs
页面加载数据,如下所示:
mounted() {
this.$store.dispatch('songs/getSongs', this.$store.state.user)
},
我在store/songs.js
中的操作是:
/**
* Get the list of songs for a given user
* @param {*} commit
* @param {Object} user
*/
getSongs({ commit }, user) {
commit('setLoading', true)
firebase.firestore().collection('song-lists').doc(user.uid).get().then((snapshot) => {
const songList = snapshot.data().list
commit('setSongs', songList)
commit('setLoading', false)
})
},
首次登录并加载歌曲页面时,出现以下错误:
超出了最大调用堆栈大小
在控制台中:
app.js:288 RangeError:超出了最大调用堆栈大小 在Function.keys() 在_traverse(commons.app.js:13473) 在_traverse(commons.app.js:13475) 在_traverse(commons.app.js:13475) 在_traverse(commons.app.js:13475) 在_traverse(commons.app.js:13475) 在_traverse(commons.app.js:13475) 在_traverse(commons.app.js:13475) 在_traverse(commons.app.js:13475) 在_traverse(commons.app.js:13475) push ../。nuxt / client.js.vue__WEBPACK_IMPORTED_MODULE_17 __。default.config.errorHandler @ app.js:288
这仅在分派操作时出现,什么可能导致此堆栈大小错误?为什么会有那么多的递归?