如果在
.eslintrc.js
配置中关闭了 lint 规则,我们能否以某种方式在特定文件中重新启用 lint 规则?
假设我有(.eslintrc.js):
module.exports = {
// omiting extends and plugin etc...
rules: {
'react-hooks/exhaustive-deps': 'off'
}
}
eslint-enable
看起来是正确的解决方案,不幸的是这不起作用。
// ❌DOESN'T WORK
/* eslint-enable react-hooks/exhaustive-deps */
export const useCount = () => {
const [value,setValue] = useState()
const inc = useCallback(()=>{
setValue(value+1)
// 🚨EXPECT ESLINT WARNING
},[])
return {inc, value}
}
不知道这是一个错误还是“按预期工作”行为......
overrides
属性(
.eslintrc.js
或类似文件):
module.exports = {
rules: {
'react-hooks/exhaustive-deps': 'off' // disabled for all files
},
overrides: [
{
files: [
'your/file.js'
],
rules: {
'react-hooks/exhaustive-deps': 'error' // enabled only for 'your/file.js'
}
}
]
}