用命令直接修复ESLint 简单的语法
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"test": "node scripts/test.js",
"lint-fix": "eslint --fix src" // fix eslint 的
}
继续修复个别报错
error: Component definition is missing display name react/display-name
{
title: '状态',
dataIndex: 'effectState',
key: 'effectState',
// eslint-disable-next-line react/display-name // 将组件放入return里面 没办法放入就加一行
render: (text) => <span>{effectStateList[text]}</span>
}, {
title: '操作',
dataIndex: 'operator',
key: 'operator',
// eslint-disable-next-line react/display-name
render: (text, record) => CopyOrEdit(record)
}
error: Arrow function should not return assignment no-return-assign
wrappedComponentRef={(inst) => formRef = inst}
// 改为
wrappedComponentRef={(inst) => (formRef = inst)}
error:Line 2: 'Card' is defined but never used no-unused-vars
import { Card } from 'antd' // 明明使用了说没有使用的情况
module.exports = {
'env': {
'browser': true,
'es6': true
},
'parser': 'babel-eslint',
'extends': [
'eslint:recommended',
'plugin:react/recommended' // 加这行
],
...
error:Warning: React version not specified in eslint-plugin-react settings.
error: componentWillReceiveProps is deprecated since React 16.999.0, use UNSAFE_componentWillReceiveProps instead, see https://reactjs.org/docs/react-component.html#unsafe_componentwillreceiveprops. Use https://github.com/reactjs/react-codemod#rename-unsafe-lifecycles to automatically update your components
// 由于react未做版本升级,在eslint定一下react版本号
'settings': {
'react': {
'version': '16.8.6'
}
}
error: 子组件props 报错
// 原则上应该引入'prop-types'进行校验
import PropTypes from 'prop-types'
// 由于之前项目都没有加这一层校验,临时在eslint rule里面加一行配置
'rules': {
...
'react/prop-types': 0
}
网友评论