我是 prettier + typescript + eslint 的新手。
大多数集成工作正常,但解构对象中的多行则不行。
更漂亮的 1.19.1
Playground link
输入:
const {
ciq,
drawingMenuX,
drawingMenuY,
selectedDrawing,
} = store.chartStore;
输出:
const { ciq, drawingMenuX, drawingMenuY, selectedDrawing } = store.chartStore;
预期行为:
const {
ciq,
drawingMenuX,
drawingMenuY,
selectedDrawing,
} = store.chartStore;
我想在解构对象中保留多行格式,如基本原理(https://prettier.io/docs/en/rationale.html#multi-line-objects)
它在普通对象中运行良好,但在解构对象中不起作用
我该如何解决这个问题?
我只需要修复每一行吗?
包.json
"@typescript-eslint/eslint-plugin": "^2.11.0",
"@typescript-eslint/parser": "^2.11.0",
"eslint": "^6.7.2",
"eslint-config-airbnb": "^18.0.1",
"eslint-config-prettier": "^6.7.0",
"eslint-plugin-import": "^2.19.1",
"eslint-plugin-jsx-a11y": "^6.2.3",
"eslint-plugin-prettier": "^3.1.1",
"eslint-plugin-react": "^7.17.0",
"eslint-plugin-react-hooks": "^1.7.0",
"prettier": "^1.19.1",
.eslintrc.js
module.exports = {
env: {
browser: true,
es6: true,
},
extends: ['plugin:react/recommended', 'plugin:prettier/recommended', 'airbnb'],
plugins: ['react', '@typescript-eslint'],
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
},
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2018,
sourceType: 'module',
},
settings: {
'import/resolver': {
node: {
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
},
rules: {
'react/jsx-filename-extension': [
1,
{
extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
],
'import/extensions': [
'error',
'ignorePackages',
{
js: 'never',
jsx: 'never',
ts: 'never',
tsx: 'never',
},
],
'no-confusing-arrow': [0],
},
overrides: [
{
files: ['*.ts', '*.tsx'],
rules: {
'@typescript-eslint/no-unused-vars': [2, { args: 'none' }],
},
},
],
};
最佳答案
我也更喜欢 Prettier 处理这个问题的方式。
在您的 .eslintrc.js
将此添加到您的 rules
.
'object-curly-newline': 'off',
关于javascript - eslint object-curly-newline 冲突更漂亮的多行基本原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59318013/