Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vuex+;firebase数据库操作_Javascript_Firebase_Vue.js_Firebase Realtime Database_Vuex - Fatal编程技术网

Javascript Vuex+;firebase数据库操作

Javascript Vuex+;firebase数据库操作,javascript,firebase,vue.js,firebase-realtime-database,vuex,Javascript,Firebase,Vue.js,Firebase Realtime Database,Vuex,我在我的Vuex应用程序中使用firebase。我在vuex中有此操作 async deleteTodo({ commit }, id) { await fbs.database().ref(`/todolist/${store.state.auth.userId}/${id}`) .remove() .then(() => { // fix this conso

我在我的Vuex应用程序中使用firebase。我在vuex中有此操作

async deleteTodo({ commit }, id) {
        await fbs.database().ref(`/todolist/${store.state.auth.userId}/${id}`)
            .remove()
            .then(() => {
                // fix this
                console.log('Todo deleted', commit);
            })
    }
如果我不需要提交某些内容,如何在params中跳过
{commit}
。我遇到了类似“commit assigned but never used”的错误

deleteTodo({commit},id)
对第一个参数进行了解构。您的操作实际接收到的是一个
上下文
对象,该对象有两个成员<代码>提交就是其中之一。通过像这样对其进行分解,可以隐式地将其分配给一个局部常量,然后不使用它。林特不喜欢这样。如果将其替换为
deleteTodo(context,id)
,您的linter很可能会接受它。如果没有,您也可以使用
deleteTodo(u,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');
        });
}

这是最好的方法。

不要破坏对象的结构,只使用占位符下划线:deleteTodo(\uID)