当前位置: 首页 > news >正文

react入门笔记

什么是React?

React是一个用于创建用户界面的开源前端javaScript库。它是声明式的、高效的和灵活的,并且他坚持基于组件的方法,这使得我们能够创建可重用的UI组件。

React是一个开源的前端javaScript库,用于构建用户界面或者UI组件。它是由Facebook和一个由个人开发者和公司组成的社区维护。它本质上是一个渲染组件的库,尽管他们不是传统的web组件。

React使用一种名为JSX(使用JavaScript+XML)的语言,开发人员可以在React组件中包含所有前端代码(包括HTML和CSS)。

React最酷的一点是它完全关注组件渲染过程。它在某种程度上遵循了单一职责原则。将组件渲染在web应用的屏幕上,但不需要担心路由、状态管理或构建整个前端应用所需的其他工具。

从头搭建会非常麻烦,但是同样也会学到很多东西,熟练后,可以使用create-react-app等工具快速构建React开发环境。

React是如何工作的?

React不是直接操作DOM,而是在内存中创建一个虚拟DOM(Virtual DOM),在对浏览器DOM进行更改之前,会在其中进行所有必要的操作。

React会找出已经进行了哪些更改,并且之更改需要更改的内容,整个过程中使用了diff算法,通过diff算法可以避免一些不必要的DOM操作,从而提升性能。

(虚拟DOM是真实DOM的任何一种表示形式(例如JS对象表示)。当我们在虚拟DOM树中更改某些内容时,我们会得到一个新的虚拟树。diff算法比较这两种树(旧树和新树)找出差异。这种方式除了提升性能,也方便了与其他环境集成。)

如何使用?

引入CDN

您可以直接在HTML文件练习、编写React,通过CDN引入的方式:

<!-- 加载 React 和 React DOM 的 UMD 版本 --><scriptcrossoriginsrc="https://unpkg.com/react@18/umd/react.development.js"></script><scriptcrossoriginsrc="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script><!-- 使用 JSX 需要用到的 Babel --><script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

一个简单的例子:

<div id="root"></div>
// ReactDOM。渲染在React 18中不再被支持。请使用createRoot。在你切换到新的API之前,你的应用程序会像运行React 17一样运行。
// React 17
ReactDOM.render(<Hello />, document.getElementById("root"));
// React 18
ReactDOM.createRoot(document.getElementById('root')).render(<Hello />);

并使用特殊的 text/babel MIME类型加载您的脚本。

(Tips:当然,上述提供的版本仅用于开发环境,您可以使用压缩优化后可用于生产环境的React版本。另外,我们为什么要在script标签上使用crossorigin属性,都可以在React官网中找到。)

未完,每天会加入一部分,纯手打,有点慢,只有晚上一点时间写,见谅

http://www.lryc.cn/news/118681.html

相关文章:

  • 记录--前端重新部署如何通知用户
  • WPS的excel表格单元格拖动数字日期等 不自增原因
  • 2308C++简单异步懒
  • Linux常规操作命令
  • 日期切换
  • 怎么裁剪视频大小尺寸?简单的裁剪方法分享
  • 智慧工地源码,Spring Cloud+ Vue+UniApp开发,微服务架构
  • 【Hystrix技术指南】(5)Command创建和执行实现
  • 学习笔记-JAVAJVM-JVM的基本结构及概念
  • ubuntu20.04 docker 下编译 tensorflow-gpu
  • ❤ VUE3 项目路由拦截器配置(二)
  • Filament 如何自定义登录页面
  • 百度智能云“千帆大模型平台”最新升级:接入Llama 2等33个模型!
  • [保研/考研机试] KY129 简单计算器 浙江大学复试上机题 C++实现
  • 推出 Elasticsearch 查询语言 (ES|QL)
  • 机器学习 day32(神经网络如何解决高方差和高偏差)
  • Web前端之NodeJS、Vue
  • 冠达管理:银行定增是利好还是利空?
  • 背上小书包准备run之TypeScript篇
  • 什么是绩效管理?绩效管理包括哪些内容?
  • Java基础练习八(二维数组)
  • Biopython序列比对
  • 无法坚持运动?解密肠道菌群影响运动积极性
  • 4-5-tablewidget
  • 前端基础第一天-html-综合案例
  • PDF Expert 3.3 for mac
  • 【腾讯云 Cloud Studio 实战训练营】深度体验 | 使用腾讯云 Cloud Studio 快速构建 Vue + Vite 完成律师 H5 页面
  • Word转PDF在线转换如何操作?分享转换技巧
  • 只需5步 真·双开电脑版微信
  • 如何将JSON字符串转化成对象