报错——ESLint: Unary operator ‘++’ used. (no-plusplus)
for (let i = 0; i < selectedRows.length; i++) {
UnitKeys[i] = selectedRows[i].unit_id;
}
原因ESLint没有++操作符,可改为
for (let i = 0; i < selectedRows.length; i += 1) {
UnitKeys[i] = selectedRows[i].unit_id;
}
报错——ESLint: Expected ‘===’ and instead saw ‘==’. (eqeqeq)
所有的==判断改成用超严格===
报错——ESLint: ‘_’ is not defined. (no-undef)
效果可实现转化为string可是还是会报错语法不严格
unit: _.toString(),
改用:
unit: this.state.unitName.toString(),
报错——ESLint: Missing radix parameter. (radix)
将一段数字字符串转化为int类型。由于缺少了radix作为参数,一个介于2和36之间的整数(数学系统的基础),表示上述字符串的基数。通常js将值默认为10,即十进制,此处颇为严格。
parseInt(this.state.adminId)
建议可改为:
parseInt(this.state.adminId,10)
或取巧:
Number(this.state.adminId)
报错——use callback in setState when referencing the previous state(react/no-access-state-in-setState)
错误原因如下:在引用前一个状态时在setState中使用回调
functionincrement(){
this.setState({value: this.state.value + 1});
}
解决方法:使用以前一个状态(prevState)作为第一个参数的回调可以避免这种情况
functionincrement(){
this.setState(prevState => ({value: prevState.value + 1}));
}
以上具体参考了:eslint-plunt-react的List of supported rules查询报错问题 ClickHere 》
优化简写
const userList= this.props.userList;
const unitList = this.props.unitList ;
const UnitKeys = this.state.UnitKeys ;
可利用ES6的解构特性简写成:
const { userList, unitList } = this.props;
const { UnitKeys } = this.state;
模板字符串
注意!是反引号`` 包住用了${}占位符的变量。在模版字符串内使用反引号时,需要在它前面加转义符 \
`string text ${expression} string text`
Parsing error: Unexpected token
1、确认安装eslint-plugin-vue依赖,具体可以查看上面链接;
2、在.eslint.js配置文件中添加如下配置:
root: true, parserOptions: { sourceType: 'module' },
parser: "vue-eslint-parser",
env: { browser: true, node: true, es6: true, },
rules: { 'no-console': 'off', }