我正在構建一個VueJS應用程序,我正在使用Apollo客戶端通過GrapgQL服務器從數據庫獲取數據。我有一些代碼,看起來像這樣:爲什麼Apollo/GraphQL返回一個不可擴展的對象?
apollo.query({
query,
variables
})
// context.commit('populateComments', payload) triggers the mutation
.then(payload => context.commit('populateComments', payload))
然後,在我的突變,我有以下
populateComments: (state, payload) => {
state.comments = payload.data.comments
}
當我試圖把另一個對象到另一個突變的意見陣列我得到一個錯誤讀取「不能添加屬性300,對象不可擴展」。我發現以下作品
state.comments = Array.from(payload.data.comments)
但是..我不知道它是如何有效地反覆複製這樣的大型數組?這是做這件事的首選方法嗎?
Object.assign會給你同樣是你的對象/類型的起訴是深深嵌套的 – vbranden