为什么每个react组件都需要import React from 'react'?

在定义React组件或者书写React相关代码,不管代码中有没有用到React这个对象,我们都必须将其import进来

import React from 'react';    // 下面的代码没有用到React对象,为什么也要将其import进来
import ReactDOM from 'react-dom';

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

关于这个问题,我们看一下打包工具的.babelrc文件就全明白了

{
    "presets": ["env"],
    "plugins": [
        ["transform-react-jsx", {
            "pragma": "React.createElement"
        }]
    ]
}

因为打包工具是需要React.createElement这个方法把你写的jsx转化为虚拟DOM的,就像这样

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

class App extends React.Component {
    render() {
        return <h1>Hello,World!</h1>
    }
}

const element = ( <div className="123">
    <span>hello</span>
    <div>world</div>
</div>
)
console.log('element', element)


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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 40、React 什么是React?React 是一个用于构建用户界面的框架(采用的是MVC模式):集中处理VIE...
    萌妹撒阅读 1,052评论 0 1
  • 最近看了一本关于学习方法论的书,强调了记笔记和坚持的重要性。这几天也刚好在学习React,所以我打算每天坚持一篇R...
    gaoer1938阅读 1,721评论 0 5
  • React.js - 第1天 备注说明:该笔记来自于黑马培训课笔记,因为质量好,为方便学习和 查阅。 1. Rea...
    达魔学院阅读 505评论 0 0
  • 1. React简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScrip...
    午夜阳光5021阅读 282评论 0 1
  • HTML模版 之后出现的React代码嵌套入模版中。 1. Hello world 这段代码将一个一级标题插入到指...
    ryanho84阅读 6,307评论 0 9