반응형
다른 액션 내에서 액션 호출
내 작업에 대해 다음과 같은 설정이 있다.
get1: ({commit}) => {
//things
this.get2(); //this is my question!
},
get2: ({commit}) => {
//things
},
나는 한 가지 행동을 다른 내부에서 불러올 수 있기를 원하므로 이 예에서 나는 전화를 걸 수 있기를 원한다.get2()
안에서get1()
.이것이 가능한가, 만약 가능하다면 어떻게 할 수 있을까?
에 대한 액세스 권한dispatch
첫 번째 매개 변수에 전달된 개체의 메서드:
get1: ({ commit, dispatch }) => {
dispatch('get2');
},
이 내용은 설명서에서 다룬다.
첫 번째 인수(컨텍스트)를 통해 디스패치 방법에 액세스할 수 있다.
export const actions = {
get({ commit, dispatch }) {
dispatch('action2')
}
}
그러나 이름을 미리 지정한 경우 다음 옵션을 지정하십시오.
export const actions = {
get({ commit, dispatch }) {
dispatch('action2', {}, { root: true })
}
}
페이로드가 필요하지 않은 작업의 경우
actions: {
BEFORE: async (context, payload) => {
},
AFTER: async (context, payload) => {
await context.dispatch('BEFORE');
}
}
페이로드(payload
actions: {
BEFORE: async (context, payload) => {
},
AFTER: async (context, payload) => {
var payload = {}//prepare payload
await context.dispatch('BEFORE', payload);
}
}
파견을 하는 동안에도 매개 변수를 전달할 수 있다.
dispatch('fetchContacts', user.uid);
export actions = {
GET_DATA (context) {
// do stuff
context.dispatch('GET_MORE_DATA');
},
GET_MORE_DATA (context) {
// do more stuff
}
}
참조URL: https://stackoverflow.com/questions/45848974/call-an-action-from-within-another-action
반응형
'Programing' 카테고리의 다른 글
객체를 jsx에 소품으로 전달 (0) | 2022.03.05 |
---|---|
반응에서 clsx를 사용하는 방법 (0) | 2022.03.05 |
ReactJS 통신하는 두 구성 요소 (0) | 2022.03.05 |
웹 팩-dev-server가 리액터로부터 진입점을 허용하는 방법 (0) | 2022.03.05 |
Vue의 계산된 속성에 매개 변수를 전달할 수 있는가? (0) | 2022.03.05 |