programing

Vuex + FireBase 데이터베이스 작업

firstcheck 2022. 7. 9. 09:27
반응형

Vuex + FireBase 데이터베이스 작업

Vuex 앱에서 파이어베이스를 사용하고 있습니다.vuex에서 이 액션이 있습니다.

async deleteTodo({ commit }, id) {
        await fbs.database().ref(`/todolist/${store.state.auth.userId}/${id}`)
            .remove()
            .then(() => {
                // fix this
                console.log('Todo deleted', commit);
            })
    }

어떻게 건너뛸 수 있나요?{commit}내가 뭔가를 할 필요가 없다면 말이죠.'commit assigned but never used'와 같은 오류가 발생함

deleteTodo({ commit }, id)는 첫 번째 파라미터를 삭제합니다.액션이 실제로 받는 것은context멤버 몇 명이 있는 오브젝트입니다. commit그 중 하나입니다.이렇게 파괴하면 로컬 상수에 암묵적으로 할당하고 사용하지 않습니다.린터들은 그걸 좋아하지 않아요.만약 당신이 그걸 로 대체한다면deleteTodo(context, id)당신의 린터가 받아들일 가능성이 큽니다.그렇지 않은 경우,deleteTodo(_, id)하지만 난 전자를 택하겠어. (하지만 여기서 파괴하고 싶은 게 또 있어.)이하를 참조해 주세요).

이러한 작업의 일부로 아무것도 커밋하지 않을 경우 Vuex에 있는 이유는 무엇입니까?어떤 스탠드아론 기능에도 간단하게 넣을 수 있습니다.Vuex는 특히 상태 관리용입니다.

아, 하지만 주(州)를 쓰시잖아요!사용하다store.state.auth.userId단, 스토어의 실제 상태가 아닌 스토어 작성에 사용하는 파일(아마도 스토어 작성에 사용하는 파일)에 항상 로컬로 액세스합니다.이 방법은 대부분의 경우 정상적으로 작동하지만 권장되는 방법은 아닙니다.

주(州)도 어디서 찾을 수 있는지 아세요?동일한 컨텍스트 개체에서!따라서 다음과 같이 다시 쓰는 것이 가장 좋습니다.

async deleteTodo({ state }, id) {
    await fbs.database().ref(`/todolist/${state.auth.userId}/${id}`)
        .remove()
        .then(() => {
            // fix this
            console.log('Todo deleted');
        });
}

그게 가장 좋은 방법이에요.

언급URL : https://stackoverflow.com/questions/62323701/vuex-firebase-database-actions

반응형