307 votes

React doit être dans le champ d'application lors de l'utilisation de JSX react/react-in-jsx-scope ?

Je suis un développeur Angular et je suis novice en React. Il s'agit d'un simple composant React mais il ne fonctionne pas.

import react , { Component}  from 'react';
import         { render   }  from 'react-dom';

class TechView extends Component {

    constructor(props){
       super(props);
       this.state = {
           name:'Gopinath'
       }
    }
    render(){
        return(
            <span>hello Tech View</span>
        );
    }
}

export default TechView;

Erreur : React doit être dans le champ d'application lors de l'utilisation de JSX react/react-in-jsx-scope

479voto

patrick Points 3494

La ligne d'importation devrait être :

import React, { Component }  from 'react';

Notez le R majuscule pour React.

9 votes

Comment l'éviter. Je veux dire que lorsque je crée une fonction sans état, Nextjs ne l'exige pas.

3 votes

@MuhaiminCS changer la règle dans votre fichier eslintrc

184voto

JerryGoyal Points 9110

Ajouter le paramètre ci-dessous à .eslintrc.js / .eslintrc.json pour ignorer ces erreurs :

  rules: {
    // suppress errors for missing 'import React' in files
   "react/react-in-jsx-scope": "off",
    // allow jsx syntax in js files (for next.js project)
   "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], //should add ".ts" if typescript project
  }

Pourquoi ? Si vous utilisez NEXT.js alors vous n'avez pas besoin d'importer React en haut des fichiers, nextjs le fait pour vous.

51voto

Paul Berg Points 567

Si vous utilisez React v17, vous pouvez sans risque désactiver la règle dans votre fichier de configuration eslint :

"rules": {
   ...
    "react/react-in-jsx-scope": "off"
   ...
}

48voto

Ankit Pandey Points 553

Pour ceux qui ne comprennent toujours pas la solution acceptée :

Ajouter

import React from 'react'
import ReactDOM from 'react-dom'

en haut du fichier.

11voto

kallayya Points 27
import React, { Component } from 'react';

C'est une erreur d'orthographe, vous devez taper React au lieu de react .

3 votes

Cette réponse exacte a déjà été fournie comme réponse acceptée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X