我对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"
}
我通过使用规则“ no-unused-vars”:“ warn”,“ no-extra-boolean-cast”:“ warn”避免了ESLint错误
这是要抓住的地方
答案 0 :(得分:1)
我也遇到了这个问题,这个链接可能会有所帮助。 https://forum.kirupa.com/t/js-tip-of-the-day-the-underscore-convention/643076
我最终这样做是为了阻止 linter 抱怨:
actions:{
handler:(_context, payload) => {
// do something
}
}
答案 1 :(得分:0)
我也遇到了这个问题。我通过用简单的下划线({ commit, state }
代替_
来解决此问题,就像这样:
actions:{
handler:(_, payload) => {
// do something
}
}
据我所知,这是人类使用的“元惯例”,即当开发人员想要向其他开发人员发出“此参数未使用”的信号时(例如,在Kotlin中经常使用)。看到我的短毛猫跳过了这种表示法的警告,并且我的单元测试也通过了,我感到非常惊讶。
话虽这么说,我认为我们需要对此进行更多讨论,这是为什么它是语言的双重特征,还是仅仅是运气,或者更糟的是:我项目中讨厌的皮棉变种。