自从 react 18 最近发布以来,你可能已经注意到最近我们使用 create-react-app 创建 React 应用都是 18 这个版本的。

但我们现在的学习这个视频教程中用的是 react 17 的版本,而且现在并不是所有的包都支持 react 的这个最新版本。

所以现在为了更好的学习效果,我们就需要想办法安装 react 17 版本的 react 应用。

当然,如果你在安装某些包时,我们可能会遇到 react 版本方面的问题(如下图所示)那么本文或许也能帮到你。


开始本文的主题,我们如何在 create-react-app 创建 react app 时,对 react 的版本进行降级,从 react 18 降级到 react 17,具体步骤如下:

  1. 首先,还是通过 create-react-app 创建一个名为 my-project 的应用:

    npm create-react-app my-project
    

    当然,此时创建的应用 react 的版本还是 18。

  2. 在编辑器中打开上面创建的项目目录,下图为在 VSCode 中打开的效果如下:

  3. 调整 package.json 文件:

    • React and react-dom:设置"react"和"react-dom"版本为你想要降级到的版本,本文是从 18 降级到 17。
    • testing-library/react:这个包从 13 降级到 12。
  4. 删除包锁文件 package-lock.json。

  5. 删除 node-modules 文件夹,以便后续能正确地重新安装正确的依赖项。

  6. 调整 src/index.js 文件:
    因为它是基于 react 和 react-dom 的 18 版本生成的,需要调整为 react 17 版本支持的方式。

    • React and react-dom:将 react-dom/client 调整为 react-dom
    • root 变量:将 document.getElementById('root') 直接赋值为 root 变量。
    • render:将 root.render 调整为 ReactDOM.render
  7. 在 my-project 根目录执行 npm install 重新安装依赖项。安装过程中,你可能会有一些警告,只要不是报错 Error , 忽略即可。如下图所示结果即表示降级安装成功。

  8. 运行 npm start 启动项目后,从浏览器控制台查看 react 版本。
    至此,我们已经完成了使用 create-react-app 创建的应用从 react 18 降级到 react 17 版本。希望这篇文章能对你有所帮助。

React 入门:使用 create-react-app 创建 react 17 版本的应用相关推荐

  1. react快速开始(二)-使用脚手架Create React App创建react应用

    文章目录 react快速开始(二)-Create React App入门 什么是Create React App 快速开始 使用IDE webstrom创建react项目 create react a ...

  2. React入门:从零搭建一个React项目

    一.初始化项目 新建文件夹,文件名firstreact 文件夹名称不要用react,node这类关键字,后面使用插件时会发生错误. init项目环境,项目信息可默认或自行修改 mkdir firstr ...

  3. B站尚硅谷React入门教程

    视频链接:React全家桶(技术栈) 第1章:React入门 1.1. React简介 1.1.1 官网 英文官网: https://reactjs.org/ 中文官网: https://react. ...

  4. 基于脚手架创建react项目

    React(一)使用脚手架创建React项目: 转自: https://www.cnblogs.com/yulingjia/p/9583244.html D:\workbench_ws>npm ...

  5. 视频教程-2019 react入门至高阶实战,含react hooks-ReactJS

    2019 react入门至高阶实战,含react hooks 从事前端开发近5年时间,曾任职于丽珠集团等大型企业担任高级前端开发工程师职位,积累了很多大厂的前端开发经验. 目前处于创业期,正在筹备自己 ...

  6. react 组件引用组件_React Elements VS React组件

    react 组件引用组件 A few months ago I posted to Twitter what I thought was a simple question: 几个月前,我在Twitt ...

  7. 利用 Create React Native App 快速创建 React Native 应用

    React Native App简介 打开React Native官方文档你会发现,在Getting Started章节下新添加一个Quick Start Tab页.Quick Start是在v0.4 ...

  8. 快速创建React Native App

    告诉大家一个好消息,为大家精心准备的React Native视频教程发布了,大家现可以看视频学React Native了. 快速创建React Native App 查看最新的React Native ...

  9. React Native零基础+React Native重入门到精通+混合APP完整版

    第1章 介绍课程目标和学习内容 包括课程概述.课程安排.学习前提.讲授方式等方面的介绍,最后演示了整个招聘App的功能,让同学们对课程项目有一个直观的了解. 1-1 课程导学 第2章 知识储备 2-1 ...

最新文章

  1. mxnet基础到提高(10)--读写文件
  2. python视频网站分类_用Python爬取b站视频
  3. srtvlet filter
  4. json和字符串/数组/集合的互相转换の神操作总结
  5. MediaRecorder录像怎么旋转呀?
  6. oracle触发器无效且,oracle创建触发器成功但是插值失败
  7. 组件是全局怎么修改样式_用一个落地项目,帮你掌握Sketch组件的制作思路
  8. vue 多个回调_vue中多层组件间参数的传递、子孙组件回调父组件执行结果
  9. Python核心编程(第二版)【人民邮电出版社】
  10. js中的splice方法使用,删除数组中的最大最小值
  11. 微客侠:解决微信内直接打开淘宝链接
  12. 编译支持mp3的sox
  13. html页面自动滑动,html实现页面滑动
  14. Matlab Classification Learner
  15. 急!灾区的食物依然短缺!(找不到原题出处只能这样了.....)
  16. 微控制器编程技术c语言,8位单片机C语言编程:基于PIC16(用c语言对pic16微控制器进行编程的实用指导)...
  17. 2020年千兆路由器推荐 数码宅男来带路 赶紧M
  18. [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构
  19. 1.2.1.1Android基础-案例1:我的第一个App(HiAndroid)
  20. 自学脚手架——《热学》 by 李椿(第一,二,三,四,五章)

热门文章

  1. 2个红外传感器循迹原理_编程机器人9 -- 红外线传感器
  2. c语言作业 蟠桃计,神武2心体双百PT孩子计划书:少蟠桃少千字文_ 叶子猪神武...
  3. 用Delphi+DirectX开发简单RPG游戏
  4. 企业级负载均衡解决方案之八:腾讯云负载均衡解决方案CLB
  5. Kettle处理https请求
  6. python-构建英语学习词典
  7. 排毒,美容,什么时间最好。
  8. ::before和::after伪元素的用法
  9. HTTP 常见的状态码及适用场景
  10. VS 2015 使用Nunit 单元测试