Доброго дня суток, не давно начал изучать vuejs и захотел попробовать vuex, и столкнулся с проблемой передачи ответа от сервера в состояние, в интернете нашел несколько англоязычных тем, но разобрать что к чему не смог...
Проблема: нужно передать новый item в компонент, но добавляется пустая строка из state без каких либо данных, при перезагрузке страницы данные отображаются.
Компонент:
methods: {
submit(){this.$store.dispatch('prod/newitem', this.$data.form);}
}
Action:
export const newitem= (context, payload) => {
axios.post('/api/product/add', payload)
.then((response) => {
context.commit('additem', response.data);
})}
Mutation:
export const additem= (state, payload) => state.items.push(payload);
Если указать
context.commit('additem', response.data.add);
и больше ничего не менять в коде выше, то компонент не обновится и выдаст ошибку
Cannot read property 'id' of undefined, console.log(payload);
выдает
undefined
, как я понимаю в данном случае вообще ничего не приходит в состояние.
Тоже самое будет, если передать
context.commit('additem', {item: response.data});
export const additem= (state, {item}) => state.items.push(item);
В каком направлении копать?) (использую laravel)
[{"name":"test","num":"12412","desc":"test", "updated_at":"2018-11-29 09:44:54","created_at":"2018-11-29 09:44:54","id":58}]
ответ