programing

vuex-pathify make.display를 사용한 스토어 액션을 사용한 서브커밋 쓰기 커밋

copysource 2022. 8. 9. 23:36
반응형

vuex-pathify make.display를 사용한 스토어 액션을 사용한 서브커밋 쓰기 커밋

저희 가게의 외관은 다음과 같습니다.

const state = {
    user: {
        profile: {
            phoneNumber: '',
        }
    }
}

const mutations = make.mutations(state)

const actions = {
    submitPhoneNumber({commit}, phone_number) {
        // blah blah
        commit('SET_USER@profile.phoneNumber', phone_number);
    }
}

그러나 그러한 돌연변이는 발견되지 않는다.store.js 내의 store.js를 Import하여set도우미이지만, 특히 라이브러리 작성자가 커밋과 디스패치를 결합하기 위해 내린 (내 의견으로는) 디자인 결정 때문에 상황이 상당히 섬뜩해질 수 있다고 생각한다(명시적인 것이 여기서 훨씬 더 좋았을 것이라고 생각한다).

작성자 경로 지정

Vuex는 변환을 문자열로 취급하기 때문에 Vuex 돌연변이를 사용하여 하위 속성 구문을 사용하여 변환을 커밋할 수 없습니다.

다음 명령어를 사용해야 한다는 것은 맞습니다.store.set()이 일을 하기 위해서.

커밋과 디스패치를 명시적으로 하기 위해서는!호출에 응답합니다.이것을 「직접 구문」이라고 부릅니다.

서브프로퍼티 구문을 사용하여 직접 커밋하려면Payload클래스:

다음과 같은 것이 동작합니다.

import { Payload } from 'vuex-pathify'
commit('SET_USER', new Payload('SET_USER', @profile.phoneNumber', phone_number);

아직 기록을 남기지 않은 것 같아서 여기서 티켓을 만들었어요.

컴포넌트의 커밋을 사용하고 있지만 동일하게 동작합니다.

이전에 사람들이 Pathify 스타일의 커밋을 행동에 사용하는 것이 가능한지 물어봤지만, 나는 아니라고 말했지만, 나는 그것을 가능하게 할 수 있는 무언가를 생각해냈다.

상세한 것에 대하여는, 다음의 기능 요구에 따라 주세요.

언급URL : https://stackoverflow.com/questions/58196573/sub-property-write-commit-withing-store-actions-using-vuex-pathify-make-mutation

반응형