javascript - 不用导入 React 就可以使用 JSX

标签 javascript reactjs jsx

我正在尝试使用版本 4.0.0 的 create-react-app 运行我的第一个 React JSX 文件,它可以工作!但是,我的 JSX 中没有包含 React 的导入语句,它也可以工作,但是很奇怪。该项目由 create-react-app 命令创建,版本为 4.0.0。
App.js 文件:
/* 没有导入 React 但也可以! */

 import { Component } from "react";
class App extends Component {
  render() {
    return <div>456</div>;
  }
}
export default App;

最佳答案

开始 react 17 无需导入 react 使用 JSX .请参阅博客文章中名为 Removing Unused React Imports 的部分中的相关内容。 :

Because the new JSX transform will automatically import the necessary react/jsx-runtime functions, React will no longer need to be in scope when you use JSX. This might lead to unused React imports in your code.


什么是 JSX 转换?

Browsers don’t understand JSX out of the box, so most React users rely on a compiler like Babel or TypeScript to transform JSX code into regular JavaScript.


建议阅读是Introducing the New JSX Transform .你也可以看到Using React 17 and the new JSX transform with Create React App 4.0 Alpha .

关于javascript - 不用导入 React 就可以使用 JSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64541040/

相关文章:

javascript - 这个与原型(prototype)的链接?出于命名空间的目的

Javascript insideWidth 不起作用

Reactjs, Electron Assets 文件夹

javascript - react : jsx in a variable vs a function vs a separate component

javascript - 将 Promise 转换为同步函数

javascript - 组织 JavaScript/jQuery - 替代使用 jQuery 的实时连接

javascript - 请求有效负载 - 可选的数据发送

reactjs - 带 redux 的进度条

javascript - array.map 形式的元素不渲染

reactjs - <Carousel.Item> 是什么意思?