報錯——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)
效果可實現(xiàn)轉化為string可是還是會報錯語法不嚴格
unit: _.toString(),
改用:
unit: this.state.unitName.toString(),
報錯——ESLint: Missing radix parameter. (radix)
將一段數(shù)字字符串轉化為int類型黑低。由于缺少了radix作為參數(shù)把敢,一個介于2和36之間的整數(shù)(數(shù)學系統(tǒng)的基礎)势木,表示上述字符串的基數(shù)王财。通常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)
錯誤原因如下:在引用前一個狀態(tài)時在setState中使用回調
functionincrement(){
?this.setState({value: this.state.value + 1});
}
解決方法:使用以前一個狀態(tài)(prevState)作為第一個參數(shù)的回調可以避免這種情況
functionincrement(){
?this.setState(prevState => ({value: prevState.value + 1}));
}
以上具體參考了:eslint-plunt-react的List of supported rules查詢報錯問題 ClickHere 》
優(yōu)化簡寫
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', }