web-dev-qa-db-fra.com

l'erreur 'document' n'est pas définie: eslint / React

Je construis une application React, avec create-react-app.

J'ai eu l'erreur suivante lors de l'exécution d'ESLint:
8:3 error 'document' is not defined no-undef.

Mon application fonctionne sans erreur, mais j'ai eu cette erreur ESLint dans 2 fichiers. Voir l'un de ces .jsx fichiers et ma configuration ESLint.

index.jsx:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
import './index.css';

ReactDOM.render(
  <App />,
  document.getElementById('root'),
);

eslintrc.js:

module.exports = {
  "extends": "airbnb",
  "plugins": [
      "react",
      "jsx-a11y",
      "import"
  ],
  "env": {
    "jest": true
  }
};

Comment puis-je réparer cela ? Pour l'instant, je vais simplement ignorer les deux fichiers ... mais je préfère trouver une solution à long terme.

21
Thomas Sauvajon

Ajouter "browser": true votre env pour inclure des variables globales (comme un document, une fenêtre, etc.)

Voir documentation de l'environnement ESLint pour plus d'informations.

47
Lucas

définissez une propriété env dans votre fichier eslint.rc, par exemple.

{
    "env": {
        "browser": true,
        "node": true
    }
}
8
Homam Bahrani

Dans votre package.json, spécifiez l'environnement de test pour jest comme "jsdom" comme suit:

  "jest": {
    "testEnvironment": "jsdom"
  }

J'ai fait face au même problème et cela a bien fonctionné pour moi.

6
Vishal Gulati