如何使用 eslint 设置内联样式规则?
How to set inline style rule with eslint?
我创建了一个React Native项目,版本是0.62.2
我改eslintrc.js
如下
module.exports = {
parser:'babel-eslint',
env: {
browser: true,
es6: true,
},
extends: '@react-native-community',
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
},
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2018,
sourceType: 'module',
},
plugins: [
'react',
],
rules: {
... my other rules
"react-native/no-inline-styles": 1,
"prettier/prettier": ["error", {
"no-inline-styles": false
}],
},
};
我希望我的样式代码是这样的{{ flex: 1, marginTop: 5 }}
而不是{{flex:1,marginTop:5}}
但我的警告显示信息:
(property) FlexStyle.marginTop?: React.ReactText
Inline style: { flex: 1, marginTop: 5 }eslint(react-native/no-inline-styles)
Replace `·flex:1,·marginTop:5·` with `flex:·1,·marginTop:·5`eslintprettier/prettier
我不知道如何设置内联样式 space 以及如何解决更漂亮的问题。
您可以使用 ESLint 的禁用规则功能
// eslint-disable-line react-native/no-inline-styles
有关详细信息,请访问 https://eslint.org/docs/user-guide/configuring.html#configuring-rules
您的配置似乎在插件数组中缺少 prettier。
通过阅读 prettier's documentation.
确保正确使用 eslint 运行 更漂亮
Prettier 有一个名为 bracket spacing 的对象字面量间距规则,但请注意它默认设置为 true。
该值应为 0,以将其设置为 false。所以你的规则数组应该是这样的:
rules: {
... my other rules
"react-native/no-inline-styles": 0,
"prettier/prettier": ["error", {
"no-inline-styles": false
}],
}
更改文件:.eslintrc.js
module.exports = {
root: true,
extends: '@react-native-community',
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
rules: {
'react-native/no-inline-styles': 0,
'prettier/prettier': 0,
},
overrides: [
{
files: ['*.ts', '*.tsx'],
rules: {
'@typescript-eslint/no-shadow': ['error'],
'no-shadow': 'off',
'no-undef': 'off',
},
},
],
};
我创建了一个React Native项目,版本是0.62.2
我改eslintrc.js
如下
module.exports = {
parser:'babel-eslint',
env: {
browser: true,
es6: true,
},
extends: '@react-native-community',
globals: {
Atomics: 'readonly',
SharedArrayBuffer: 'readonly',
},
parserOptions: {
ecmaFeatures: {
jsx: true,
},
ecmaVersion: 2018,
sourceType: 'module',
},
plugins: [
'react',
],
rules: {
... my other rules
"react-native/no-inline-styles": 1,
"prettier/prettier": ["error", {
"no-inline-styles": false
}],
},
};
我希望我的样式代码是这样的{{ flex: 1, marginTop: 5 }}
而不是{{flex:1,marginTop:5}}
但我的警告显示信息:
(property) FlexStyle.marginTop?: React.ReactText
Inline style: { flex: 1, marginTop: 5 }eslint(react-native/no-inline-styles)
Replace `·flex:1,·marginTop:5·` with `flex:·1,·marginTop:·5`eslintprettier/prettier
我不知道如何设置内联样式 space 以及如何解决更漂亮的问题。
您可以使用 ESLint 的禁用规则功能
// eslint-disable-line react-native/no-inline-styles
有关详细信息,请访问 https://eslint.org/docs/user-guide/configuring.html#configuring-rules
您的配置似乎在插件数组中缺少 prettier。 通过阅读 prettier's documentation.
确保正确使用 eslint 运行 更漂亮Prettier 有一个名为 bracket spacing 的对象字面量间距规则,但请注意它默认设置为 true。
该值应为 0,以将其设置为 false。所以你的规则数组应该是这样的:
rules: {
... my other rules
"react-native/no-inline-styles": 0,
"prettier/prettier": ["error", {
"no-inline-styles": false
}],
}
更改文件:.eslintrc.js
module.exports = {
root: true,
extends: '@react-native-community',
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
rules: {
'react-native/no-inline-styles': 0,
'prettier/prettier': 0,
},
overrides: [
{
files: ['*.ts', '*.tsx'],
rules: {
'@typescript-eslint/no-shadow': ['error'],
'no-shadow': 'off',
'no-undef': 'off',
},
},
],
};