| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 响应式系统与react笔记 | 青训营笔记 -> 正文阅读 |
|
[JavaScript知识库]响应式系统与react笔记 | 青训营笔记 |
1?React简介1.1 react发展历史:react是facebook开发的,facebook在构建instagram网站的时候遇见两个问题: 数据绑定的时候,大量操作真实dom,性能成本太高,比较浪费 网站的数据流向太混乱,不好控制 于是facebook起初调研过市场上已存的mvc框架,比如angularjs,发现都不太满意,于是就推陈出新,开发了react框架,并在2013年五月份开源,国内2016年才开始首先在杭州使用。 1.2 react 特点:声明式设计 ?React采用声明范式,可以轻松描述应用(自动dom操作) 高效 ?React通过对DOM的模拟(虚拟dom),最大限度地减少与DOM的交互 灵活 ?React可以与已知的库或框架很好地配合,比如(jquery库) JSX ? JSX 是 JavaScript 语法的扩展 组件 ? 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中 单向响应的数据流 ? React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单 1.3应用场景
1.4 React的优点React速度很快:它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好。最大限度减少DOM交互。 跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。 一切都是component:代码更加模块化,重用代码更容易,可维护性高。这样当某个或某些组件出现问题是,可以方便地进行隔离。每个组件都可以进行独立的开发和测试,并且它们可以引入其它组件。这等同于提高了代码的可维护性。 单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。减少了重复代码,这也是它为什么比传统数据绑定更简单。 同构、纯粹的javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。 兼容性好:比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。它们使得那些艰难的任务不再让人望而生畏。 1.5 React 的缺陷React 只是一个视图库,而不是一个完整的框架。 对于 Web 开发初学者来说,有一个学习曲线。 将 React 集成到传统的 MVC 框架中需要一些额外的配置。 代码复杂性随着内联模板和 JSX 的增加而增加。 如果有太多的小组件可能增加项目的庞大和复杂。 2 React工程目录简介工程目录如下: node_modules文件夹
src 文件夹index.js(all in js) 整个程序的入口文件,也就是整个项目从index.js 里面开始逐行执行 ServiceWorker 为用户在本地创建一个service worker 来缓存资源到本地,提升应用的访问速度 App.test.js 自动化的测试文件 应用级框架全栈开发框架 Next.js Modern.js Blitz
? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/11 12:57:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |