Vue.js Vuex操作处理程序上下文对象和负载ESLint规则问题

Vue.js Vuex操作处理程序上下文对象和负载ESLint规则问题,vue.js,vuex,eslint,Vue.js,Vuex,Eslint,我在vuex操作处理程序和ESLint规则方面遇到问题 如果未使用变量且对象为空,则此操作代码将ESLint标记为错误 actions:{ handler:({commit, state}, payload) =>{} } 提交和状态将作为未使用的变量抛出错误 actions:{ handler:({}, payload) =>{} } 此{}将抛出空对象 actions:{ handler:(payload) =>{} } 有效负载将返回上下文对象 这是我的

我在vuex操作处理程序和ESLint规则方面遇到问题

如果未使用变量且对象为空,则此操作代码将ESLint标记为错误

actions:{
  handler:({commit, state}, payload) =>{}
}
提交和状态将作为未使用的变量抛出错误

actions:{
  handler:({}, payload) =>{}
}
此{}将抛出空对象

actions:{
  handler:(payload) =>{}
}
有效负载将返回上下文对象

这是我的eslint配置

"eslintConfig": {
    "root": true,
    "env": {
        "node": true
    },
    "extends": [
        "plugin:vue/essential",
        "eslint:recommended",
        "@vue/prettier"
    ],
    "parserOptions": {
        "parser": "babel-eslint"
    },
    "rules": {
        "no-unused-vars": "warn",
        "no-extra-boolean-cast": "warn"
    }
我通过使用规则“无未使用的变量”:“警告”,“无额外的布尔类型转换”:“警告”,成功避免了ESLint错误

这里是一个陷阱:

  • 我不想绕过ESLint。当然,它会抛出错误。 有时我不需要使用上下文,只需要使用payload变量
  • 有人能给我解释一下动作处理程序的参数行为吗 以及如何使其遵循ESLint规则“ESLint:推荐”

  • 我也有这个问题。我通过用一个简单的下划线(
    )替换
    {commit,state}
    解决了这个问题,如下所示:

    操作:{
    处理程序:(u,有效负载)=>{
    //做点什么
    }
    }
    
    据我所知,这是人类使用的“元约定”,即当开发人员想要向其他开发人员发出“此参数未使用”的信号时(例如,在Kotlin中经常使用)。我很惊讶地看到,我的linter跳过了这个符号的警告,我的单元测试也通过了


    话虽如此,我认为我们需要更多地讨论一下为什么会这样,以及这是语言的一个双重特征还是纯粹的运气,或者更糟糕的是:我的项目中的一个令人讨厌的线头配置。

    我也遇到过这个问题。我通过用一个简单的下划线(
    )替换
    {commit,state}
    解决了这个问题,如下所示:

    操作:{
    处理程序:(u,有效负载)=>{
    //做点什么
    }
    }
    
    据我所知,这是人类使用的“元约定”,即当开发人员想要向其他开发人员发出“此参数未使用”的信号时(例如,在Kotlin中经常使用)。我很惊讶地看到,我的linter跳过了这个符号的警告,我的单元测试也通过了


    话虽如此,我认为我们需要更多地讨论一下为什么会出现这种情况,以及这是语言的一个双重特征还是纯粹的运气,或者更糟糕的是:我的项目中出现了一个令人讨厌的lint配置。

    我也遇到了这个问题,这个链接可能会有所帮助

    最后我这样做是为了阻止林特抱怨:

    actions:{
      handler:(_context, payload) => {
        // do something
      }
    }
    

    我也遇到了这个问题,这个链接可能会有帮助

    最后我这样做是为了阻止林特抱怨:

    actions:{
      handler:(_context, payload) => {
        // do something
      }
    }