Aller au contenu principal

Integrating ESLint into Your React App

Why Use ESLint?

ESLint is a powerful static code analysis tool that helps identify and fix problematic patterns or code that doesn’t adhere to certain style guidelines in JavaScript/React projects. Integrating ESLint in your React app improves:

  • Code Quality: Catch bugs early, such as unused variables or potential errors.
  • Consistency: Enforce a consistent coding style across your team.
  • Maintainability: Make your codebase easier to read and maintain.
  • Best Practices: Encourage modern, efficient React and JavaScript patterns.

How to Integrate ESLint in a React App

If you used Create React App (CRA), ESLint is already included, but you can customize it.

Otherwise, install ESLint and React plugins manually:

npm install --save-dev eslint eslint-plugin-react eslint-plugin-react-hooks eslint-config-airbnb eslint-plugin-jsx-a11y eslint-plugin-import

2. Create an ESLint Configuration File

Create .eslintrc.json or .eslintrc.js in your project root:

{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:react/recommended",
"plugin:react-hooks/recommended",
"airbnb"
],
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 12,
"sourceType": "module"
},
"plugins": [
"react",
"react-hooks"
],
"rules": {
// Customize your rules here
"react/react-in-jsx-scope": "off" // if using React 17+
},
"settings": {
"react": {
"version": "detect"
}
}
}

3. Add ESLint Scripts to package.json

Add these scripts for convenience:

"scripts": {
"lint": "eslint 'src/**/*.{js,jsx}'",
"lint:fix": "eslint 'src/**/*.{js,jsx}' --fix"
}

Run lint manually:

npm run lint
npm run lint:fix

4. Integrate ESLint with Your Editor

Most popular editors like VSCode support ESLint via extensions.
Enable auto linting and autofix on save for smooth experience.


Best Practices

  • Use a Shared Config: Using configs like Airbnb or Standard gives you a solid base.
  • Add React-Specific Plugins: React and React Hooks plugins catch React-specific issues.
  • Customize Rules: Tailor rules to your project/team style.
  • Run Lint in CI: Include lint checks in your Continuous Integration pipeline to enforce standards.
  • Use lint:fix Carefully: Auto-fixing saves time but review changes to avoid surprises.

Summary

ESLint helps you maintain clean, error-free, and consistent React code.
By integrating it early and using popular configs/plugins, you improve collaboration and code quality significantly.


If you’re using Create React App, ESLint comes pre-configured, but customizing .eslintrc allows greater control.