首页 > 其他分享 >【React】React17+配置Babel实现无需导入React就可以使用jsx

【React】React17+配置Babel实现无需导入React就可以使用jsx

时间:2024-10-18 17:46:18浏览次数:9  
标签:react Babel transform React babel React17 runtime jsx

React17以后,无需引入React包,就可以使用jsx语法,官网说明

Babel版本

首先 Babel 要使用 V7.9.0 以上

如果使用的是 @babel/plugin-transform-react-jsx

npm update @babel/core @babel/plugin-transform-react-jsx

如果使用的是 @babel/preset-react

npm update @babel/core @babel/preset-react

配置

旧的转换的默认选项为 {"runtime": "classic"},改为 {"runtime": "automatic"}

.babelrc 配置如下:
使用 @babel/preset-react

{
  "presets": [
    ["@babel/preset-react", {
      "runtime": "automatic"
    }]
  ]
}

使用 @babel/plugin-transform-react-jsx

{
  "plugins": [
    ["@babel/plugin-transform-react-jsx", {
      "runtime": "automatic"
    }]
  ]
}

删除项目中原有的React引入

因为新的 JSX 转换会自动引入必要的 react/jsx-runtime 函数,因此使用 JSX 时,将无需再引入 React,保留也无伤大雅。

cd your_project
npx react-codemod update-react-imports

标签:react,Babel,transform,React,babel,React17,runtime,jsx
From: https://blog.csdn.net/owo_ovo/article/details/142884238

相关文章

  • Create-react-app创建的项目打包后页面空白的解决方法
    当我们使用create-react-app脚手架创建一个react项目之后,等到项目开发完成想要打包部署时会发现,通过npmrunbuild命令打包后的项目在浏览器端访问时会出现页面空白的情况。解决方法:此类问题一般有两种解决方法,其中第一种也是最常见的,当我们打开浏览器控制台时会发现,当首页空白......
  • React中使用props
    目录1.模拟数据2.传递数据3.接收并使用数据3.结果展示实现根据数据渲染卡片(卡片数量根据数据动态、卡片框架样式相同,内容不同)1.模拟数据exportdefault[{id:1,title:"LifeLessonswithKatieZaferes",description:"Iwillsharewith......
  • React高级Hook
    useReducer useReducer 是React提供的一个Hook,用于在函数组件中使用reducer函数来管理组件的state。它类似于Redux中的reducer,但仅用于组件内部的状态管理。useReducer 可以使复杂的状态逻辑更加清晰和可维护。基本用法useReducer 接收一个reducer函数和一个......
  • 深入解析React DnD拖拽原理,轻松掌握拖放技巧!
    深入解析ReactDnD拖拽原理,轻松掌握拖放技巧! 我们是袋鼠云数栈UED团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。。本文作者:霁明一、背景1、业务背景业务中会有一些需要实现拖拽的场景,尤其是偏视觉方向以及......
  • 08_实现 reactive
    目录编写reactive的函数签名处理对象的其他行为拦截in操作符拦截for...in循环delete操作符处理边界新旧值发生变化时才触发依赖的情况处理从原型上继承属性的情况处理一个对象已经是代理对象的情况处理一个原始对象已经被代理过一次之后的情况浅响应与深响应代......
  • Next.js 与 React 全栈开发:整合 TypeScript、Redux 和 Ant Design
    在上一集,我们编写完毕导航页面,并且非常的美观,但是我们发现编写网站是存静态的,在现代的网站当中一般都是动静结合,也就是说部分数据是从数据库读取的,部分静态数据是写在网页上面的,因此这章讲述如何搭建一个数据库。搭建数据库(PostgreSQL)在这里我们使用容器的方法进行数据库搭建,这......
  • React 高级阶段学习计划
    React高级阶段学习计划目标深入理解React的渲染机制和性能优化。学会代码分割和懒加载。掌握单元测试和集成测试。学习TypeScript与React的结合。学习内容性能优化React.memoReact.memo:用于优化函数组件的性能,避免不必要的重新渲染。示例:importReact,{useState,u......
  • 2.6.ReactOS系统中从内核中发起系统调用
    2.6.ReactOS系统中从内核中发起系统调用2.6.ReactOS系统中从内核中发起系统调用文章目录2.6.ReactOS系统中从内核中发起系统调用前言前言上面我们已经可以看到用户空间(R3)进行系统调用的全过程即两种方法的具体实现。系统调用一般时从R3发起的。其实window也运行......
  • React 基础阶段学习计划
    React基础阶段学习计划目标能够创建和使用React组件。理解并使用State和Props。掌握事件处理和表单处理。学习内容环境搭建安装Node.js和npm访问Node.js官网下载并安装最新版本的Node.js。打开终端或命令行工具,输入node-v和npm-v检查是否安装成功。使用Crea......
  • 实战篇:(二)React 创建项目并连接 MySQL 后台的实战教程
    React创建项目并连接MySQL后台的实战教程一、项目概述本篇博客将介绍如何使用React搭建前端项目,并通过Node.js和MySQL实现简单的后台数据连接。通过这个项目,你将掌握从前端到后端数据库的基础开发流程,适合初学者或正在项目实战中的开发者。二、项目准备1.环境......