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
'programing' 카테고리의 다른 글
C에서의 어레이 초기화에서는 대괄호는 무엇을 의미합니까? (0) | 2022.07.09 |
---|---|
Java로 가상 함수/메서드를 작성할 수 있습니까? (0) | 2022.07.09 |
vuex-persist를 사용하는 Nuxt.js - 페이지 새로 고침 시 비동기 데이터에서 지속 상태를 사용할 수 없음 (0) | 2022.07.09 |
Nuxt에서 외부 js 파일을 추가하는 방법은 무엇입니까? (0) | 2022.07.09 |
vue.js가 사이트 또는 웹 앱에서 사용되는지 확인하는 방법 (0) | 2022.07.09 |