Итак, у меня есть эта мутация в моем магазине:
DELETE_POST: (state, index) => {
state.Posts.splice(index, 1);
}
и у меня тоже есть это действие:
delete({ commit, state }, index) {
commit('DELETE_POST', index);
}
Это действие в основном удаляет сообщение из массива сообщений, , которое возвращается через vue-apollo .
Отправка действия в моем компоненте Vue
this.$store.dispatch('Posts/delete', index);
приводит к Ошибка типа: 0 только для чтения Ошибка
Вот состояние магазина:
export const state = () => ({
Posts: []
})
и мутация, ответственная за установку сообщений:
export const mutations = {
SET_POSTS: (state, posts) => {
state.Posts = posts;
},
и вот как мы заполняем хранилище с помощью запроса graphql с помощью клиента apollo
export const actions = {
async get({ commit, state }, params) {
let client = this.app.apolloProvider.defaultClient;
let { data: response } = await client.query({
query: GetPostsQuery
variables: {
id: parseInt(params.id) || null,
description: params.description || '',
categoryId: params.categoryId || null,
},
fetchPolicy: 'network-only'
});
let postsDetails = response.Posts.get;
if (postsDetails.status_code !== 200) return false;
commit('SET_POSTS', postsDetails.data);
return postsDetails.data;
},
Это проблема vue-apollo? и как я мог изменить состояние, если так?