eslint 报错小结

2019-09-27  本文已影响0人  _一九九一_

用命令直接修复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
} 
上一篇 下一篇

猜你喜欢

热点阅读