Насколько допустимо прямо в экшене обращаться к
state.page
и там же увеличивает значения на 1? Возможно лучше сделать это через мутацию по аналогу с
setProducts()
? Правда от обращения напрямую никуда не деться. Я могу сделать через мутацию только увеличение значения на 1, верно?
// state
const state = {
page: 1,
all: []
}
// getters
const getters = {}
// actions
const actions = {
getProducts ({ commit }, $state) {
axios.get('/api/products', {
params: {
page: state.page,
},
}).then(({ data }) => {
if (data.data.length) {
commit('setProducts', data.data)
state.page += 1
$state.loaded();
} else {
$state.complete();
}
});
}
}
// mutations
const mutations = {
setProducts (state, products) {
state.all.push(...products)
}
}
export default {
namespaced: true,
state,
getters,
actions,
mutations
}