반응형
Vuex에서 POST 요청을 통해 상태 데이터를 전송하는 방법
배경:'양식 구성 요소'의 양식 입력 필드를 통해 업데이트되는 '비용'이라는 Vuex 상태 개체가 있습니다.그 '비용' 오브젝트를 POST로 보내야 합니다.
문제:POST 요구를 하는 액션을 설정했습니다.그러나 상태에 저장된 '비용' 개체가 전송되지 않습니다.
PS: POST 요구는 성공했지만, 응답은 데이터가 송신되지 않았음을 증명합니다.
반응 데이터:
스토어 상태
const mainURI = "/api/budget";
const expenseObj = {
expensesKey: "",
expensesValue: null,
subExpense: null,
};
export const store = new Vuex.Store({
state: {
earnings: null,
expenses: [
{
expensesKey: "",
expensesValue: null,
subExpense: null,
},
],
},
스토어 액션
actions: {
addBudget({commit},{ expenses, earnings }) {
axios
.post(mainURI, {
earnings: earnings,
expenses: expenses,
})
.then((res) => {
console.log(res.data);
let newExpense = res.data;
commit("SUBMIT_BUDGET", newExpense);
});
},
},
스토어 메서드
mutations: {
SUBMIT_BUDGET: (state, payload) => state.newBudget.push(payload),
UPDATE_EARNINGS: (state, earnings) => state.earnings = earnings;
UPDATE_KEYS(state, payload) {
Vue.set(
state.expenses[payload.index],
"expensesKey",
payload.expenseKeyValue
);
},
UPDATE_VALUE(state, payload) {
Vue.set(
state.expenses[payload.index],
"expensesValue",
payload.expenseValueValue
);
},
},
});
양식 구성 요소넷
computed:{
earnings: {
get() {
return this.$store.state.earnings;
},
set(value) {
this.$store.commit("UPDATE_EARNINGS", value);
},
},
},
methods: {
submitBudget() {
this.$store.dispatch("addBudget");
console.log("triggers");
},
updateKey(event, idx) {
const val = {
expenseKeyValue: event.target.value,
index: idx,
};
this.$store.commit("UPDATE_KEYS", val);
},
updateValue(event, idx) {
const val = {
expenseValueValue: event.target.value,
index: idx,
};
this.$store.commit("UPDATE_VALUE", val);
},
}
를 디스패치할 때addBudget
다음과 같은 payload는 없습니다.
this.$store.dispatch('addBudget', objectPayload);
아마도 그건 네가 이 모든 것들을 사용하려고 하기 때문일 것이다.earnings
그리고.expenses
부터state
이 경우 payload 인수를 삭제하고state
액션 컨텍스트:
actions: {
addBudget({ state, commit }) {
axios.post(mainURI, {
earnings: state.earnings,
expenses: state.expenses,
})
.then((res) => {
console.log(res.data);
let newExpense = res.data;
commit("SUBMIT_BUDGET", newExpense);
});
},
},
언급URL : https://stackoverflow.com/questions/66579358/how-to-send-state-data-via-post-request-in-vuex
반응형
'programing' 카테고리의 다른 글
Vuex 스토어 데이터는 항상 메모리에 저장됩니까? (0) | 2022.08.01 |
---|---|
Vuetify 콤보 상자의 @change를 통해 대상 요소를 전달합니다. (0) | 2022.08.01 |
우체국에서 일했는데도 400 오류, 생각할 수 있는 이유? (0) | 2022.08.01 |
Java 8 스트림 - 수집과 감소 (0) | 2022.08.01 |
인라인 함수를 호출할 때 정의되지 않은 참조 (0) | 2022.08.01 |