reactjs - React JSX 无需导入 React 即可工作

标签 reactjs

我正在尝试运行我的第一个 React JSX 文件并且它有效!但是,我的 JSX 中没有包含这两个导入语句:

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

我认为我需要这两个导入,以便当 JSX 转换为 JS(通过 React.createElement)时,React 组件将在范围内。但即使没有这两个导入,它似乎也能工作。

在没有导入的情况下,这是如何工作的?

这是我的代码:

脚本.jsx:

var Main = React.createClass({
    getIntialState: function () {
        return {
            counter: 0
        };
    },
    clickHandler: function () {
        return {
            counter: this.state.counter + 1
        };
    },
    render: function () {
        return (
            <button onClick={this.clickHandler}>+2</button>
        )
    }
});

package.json

{
  "name": "reactjs",
  "version": "1.0.0",
  "description": "",
  "main": "react.js",
  "dependencies": {
    "webpack": "^1.13.3"
  },
  "devDependencies": {
    "babel-cli": "^6.18.0",
    "babel-core": "^6.18.2",
    "babel-loader": "^6.2.8",
    "babel-preset-es2015": "^6.18.0",
    "babel-preset-react": "^6.16.0",
    "react": "^15.4.1",
    "react-dom": "^15.4.1"
  },
  "scripts": {
   "test": "echo \"Error: no test specified\" && exit 1",
   "dev": "webpack --watch",
   "build": "webpack -p"
  },
  "author": "",
  "license": "ISC"
}

HTML 文件

<html>
<head>

    <title>
        !My first React JS Component!
    </title>
</head>
<body>
    <div id="root"></div>
    <script src="react.js"></script>
    <script src="output.js"></script>
</body>
</html>

webpack.config.js

module.exports = {
    entry: "./app/script.jsx",
    output: {
        filename: "output.js"
    },
    module: {
        loaders: [
            {
                test: /\.(js|jsx)$/,
                loader: 'babel-loader'
            }
        ]
    }
}

最佳答案

这是因为我在我的脚本标签中包含了react.js,正如@DorWeid 所指出的那样。所以即使没有导入它也能工作。谢谢大家,抱歉我很笨!

关于reactjs - React JSX 无需导入 React 即可工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40950537/

相关文章:

javascript - React - 在添加新元素后刷新数据列表的最佳做法是什么?

javascript - 从 React 中的同一选择下拉表单字段获取多个值

javascript - 通过状态传递 onChange 事件

javascript - 通过刷新记住 react 中的状态

reactjs - 如何使用 'withRouter' 和 'withTranslation' 导出 react 组件

javascript - 通过文件提交 react 表单

javascript - react 中的脚本加载

javascript - Nextjs Router.push 与 href

reactjs - 链接中包含的自定义 HTML 按钮不起作用

javascript - 日历 iframe 不显示所有最新创建的事件(尤其是共享日历事件)