我是一个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'必须在作用域中
对我来说,我有这个问题,一旦我使用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;
在我的例子中,我必须在src文件夹的index.js文件中包含这两行代码。
import React from 'react'
import ReactDOM from 'react-dom'
在你的情况下,这可能是不同的。
如果使用基于类的组件,则可能需要包含组件。
import React, { Component } from 'react';
或者,如果你正在使用eslint,你可以从上面的注释中得到一些解决方案。
知道更多