ESLint问题记录

作者: MJ 分类: javascript 发布时间: 2018-11-10 10:21

摘自:https://blog.csdn.net/m0_37136491/article/details/81980728

报错——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中使用回调

function increment() {
  this.setState({value: this.state.value + 1});
}

解决方法:使用以前一个状态(prevState)作为第一个参数的回调可以避免这种情况

function increment() {
  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`

推荐文档

JS标准库 ClickHere 》

欢迎关注小程序,感谢您的支持!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注