Eu instalei eslint-config-airbnb que deve pré-configurar o ESLINT para React:
Nossa exportação padrão contém todas as nossas regras ESLint, incluindo ECMAScript 6+ e React. Requer eslint, eslint-plugin-import, eslint-plugin-react e eslint-plugin-jsx-a11y.
Minha .eslintrc
extensão de sua configuração:
{ "extends": "eslint-config-airbnb",
"env": {
"browser": true,
"node": true,
"mocha": true
},
"rules": {
"new-cap": [2, { "capIsNewExceptions": ["List", "Map", "Set"] }],
"react/no-multi-comp": 0,
"import/default": 0,
"import/no-duplicates": 0,
"import/named": 0,
"import/namespace": 0,
"import/no-unresolved": 0,
"import/no-named-as-default": 2,
"comma-dangle": 0, // not sure why airbnb turned this on. gross!
"indent": [2, 2, {"SwitchCase": 1}],
"no-console": 0,
"no-alert": 0,
"linebreak-style": 0
},
"plugins": [
"react", "import"
],
"settings": {
"import/parser": "babel-eslint",
"import/resolve": {
"moduleDirectory": ["node_modules", "src"]
}
},
"globals": {
"__DEVELOPMENT__": true,
"__CLIENT__": true,
"__SERVER__": true,
"__DISABLE_SSR__": true,
"__DEVTOOLS__": true,
"socket": true,
"webpackIsomorphicTools": true
}
}
Infelizmente, estou recebendo o seguinte erro ao lintar um arquivo .js com o código React JSX dentro dele:
error JSX not allowed in files with extension '.js' react/jsx-filename-extension
O eslint-config-airbnb não estava configurado para reagir para suportar JSX, conforme declarado?
O que deve ser feito para remover esse erro?
É trabalho para mim. espero ajudá-lo.
desative a extensão do nome do arquivo jsx em
.eslintrc
:"regras": {"react / jsx-filename-extension": [0]}
em
webpack.config.js
:resolver: {extensions: ['.js', '.jsx']},
fonte
webpack.config.js
exemplo.Me chame de manequim se não funcionar para você
fonte
Se você não quiser alterar a extensão do arquivo, pode exportar uma função que retorna jsx e, em seguida, importar e chamar essa função em seu arquivo js.
e depois
fonte
Para expor a resposta de Martin , parece que não é possível, atualmente, usar
JSX
no React Native. Um PR foi criado, mas revertido devido a preocupações com a fragmentação e consequências desconhecidas de ter coisas semelhantesindex.ios.jsx
. Não tenho certeza de como o AirBnb funciona em torno disso ou se funciona, mas usei basicamente o mesmorules
bloco que Martin.fonte
Seguinte documentação do React :
Seguindo o guia de estilo do Airbnb :
Você poderia fazer isso:
fonte