programing

vuexfire firestoreAction, arg로 바인딩

projobs 2022. 8. 10. 23:39
반응형

vuexfire firestoreAction, arg로 바인딩

모듈 스토어를 문서에 바인딩하려고 합니다.

import Vue from 'vue'
import { db } from '../my-firebase/db'
import { firestoreAction } from 'vuexfire'

export const user = {
   ...
    actions: {
        logOutUser: ({ commit }) => {
            commit('logOutUser')
        },
        logInUser: ({ dispatch, commit }, userInfo) => {
            let dbRef = db.collection('users').doc(userInfo.uid)
            dbRef.update({ authInfo: userInfo })
                .then(() => {
                    commit('logInUser', userInfo)
                })
            dispatch('bindFirebaseUser', dbRef)
        },
        bindFirebaseUser: (context, userRef) => {
            console.log('Running dispatch BindFirebaseUser')
            return firestoreAction(({ bindFirestoreRef }) => {
                // return the promise returned by `bindFirestoreRef`
                console.log('userRef:')
                console.log(userRef)
                return bindFirestoreRef('firebaseData', userRef)
            })
        }
    }
}

그것은 효과가 없어요.어떻게 하면 좋을까요?bindFirestoreRef의론과 함께userReffirestore에는 정상적으로 쓸 수 있지만 바인딩이 되지 않는 것 같기 때문에 db가 올바르게 설정되어 있다고 생각합니다.

어떠한 형태의 오류도 주지 않지만, 바인딩이 되면 제 스토어에 잘못된 데이터가 채워질 것입니다.

참조를 두 번째 인수로 firestoreAction에 전달할 수 있습니다.

bindFirebaseUser: firestoreAction(({ bindFirestoreRef }, userRef) => {
   return bindFirestoreRef('firebaseData', userRef)
})

언급URL : https://stackoverflow.com/questions/56726471/vuexfire-firestoreaction-binding-with-arg

반응형