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引入的方式:

javascript 复制代码
<!-- 加载 React 和 React DOM 的 UMD 版本 -->
    <script
      crossorigin
      src="https://unpkg.com/react@18/umd/react.development.js"
    ></script>
    <script
      crossorigin
      src="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>

一个简单的例子:

javascript 复制代码
<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官网中找到。)

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

相关推荐
程序员爱技术1 小时前
Vue 2 + JavaScript + vue-count-to 集成案例
前端·javascript·vue.js
并不会2 小时前
常见 CSS 选择器用法
前端·css·学习·html·前端开发·css选择器
衣乌安、2 小时前
【CSS】居中样式
前端·css·css3
兔老大的胡萝卜2 小时前
ppk谈JavaScript,悟透JavaScript,精通CSS高级Web,JavaScript DOM编程艺术,高性能JavaScript pdf
前端·javascript
低代码布道师2 小时前
CSS的三个重点
前端·css
耶啵奶膘4 小时前
uniapp-是否删除
linux·前端·uni-app
王哈哈^_^5 小时前
【数据集】【YOLO】【目标检测】交通事故识别数据集 8939 张,YOLO道路事故目标检测实战训练教程!
前端·人工智能·深度学习·yolo·目标检测·计算机视觉·pyqt
cs_dn_Jie6 小时前
钉钉 H5 微应用 手机端调试
前端·javascript·vue.js·vue·钉钉
开心工作室_kaic6 小时前
ssm068海鲜自助餐厅系统+vue(论文+源码)_kaic
前端·javascript·vue.js
有梦想的刺儿7 小时前
webWorker基本用法
前端·javascript·vue.js