我是一个Angular开发人员,刚接触React,这是一个简单的React组件,但不起作用

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;

错误: 当使用JSX React / React -in- JSX -scope时,'React'必须在作用域中


当前回答

在我的例子中,我必须在src文件夹的index.js文件中包含这两行代码。

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

在你的情况下,这可能是不同的。 如果使用基于类的组件,则可能需要包含组件。

import React, { Component }  from 'react';

或者,如果你正在使用eslint,你可以从上面的注释中得到一些解决方案。

知道更多

其他回答

如果你想为所有使用jsx语法的文件自动包含import React from ' React ',请安装React -require babel插件:

npm install babel-plugin-react-require --save-dev

在.babelrc中添加react-require。这个插件应该在transform-es2015-modules-commonjs插件之前定义,因为它使用ES2015模块语法将React导入作用域。

{
  "plugins": [
    "react-require"
  ]
}

来源:https://www.npmjs.com/package/babel-plugin-react-require

如图所示,通过在package.json中添加插件g——fix来删除lint错误并添加自动修复

对我来说,我有这个问题,一旦我使用npm审计fix -force,所以它降级反应脚本到版本2,它迫使我安装eslint版本5,问题开始泛滥,为了解决这个问题,我更新了一次反应脚本,事情解决了。 还要确保你的eslint包含这些规则

module.exports = {
  extends: ['react-app', 'react-app/jest', 'airbnb', 'prettier'],
  plugins: ['prettier'],
  rules: {
    ...
    // React scope no longer necessary with new JSX transform
    'react/react-in-jsx-scope': 'off',
    // Allow .js files to use JSX syntax
    'react/jsx-filename-extension': ['error', { extensions: ['.js', '.jsx'] }],
    ...
  },
}

在使用react框架时,首先需要从react中导入react,并且在导入后始终保持react的首字母大写。

import React, {Component} from 'react'`
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;

将react-scripts升级到最新版本解决了我的问题。

我使用的是react-scripts 0.9.5版本,并将其升级到5.0.1。