| |
|
开发:
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之基础概念 |
???????? ????????React是一个JS库,开发时,我们将UI界面分成一个个独立的小块,每块就是一个组件,通过这些组件之间的组合、嵌套构建了整个页面。另外, (1)React编程遵循着三个概念,分别是:组件设计模式、声明式编程范式和函数式编程,使得前端应用程序的开发更为高效。 (2)使用虚拟dom去操作真实的dom。 (3)单向数据流:从高阶组件流向低阶组件。 一、组件设计模式1. 前端工程化、模块化、组件化????????工程化就是将一个应用程序的开发过程当作是一项工程来做,除了可用性,我们还需要关注程序的性能、稳定性、可维护性等方面,我觉得,所有能降低成本、提高质量并且能够提高效率的事情都是工程化。 ? ? ? ? 前端工程化:随着web应用业务场景的复杂化,对于一个大型的前端工程,如何提高开发效率、如何进行多人协作、如何保证项目的可维护性、以及提高项目开发质量这些问题是很有必要通过前端工程化来解决的。另外,前端工程化又可以细分为模块化、组件化、规范化和自动化4个方面。 (1)模块化:侧重于业务层面上功能的拆分,例如一些app上的购物功能、直播功能等,一个模块就是一个实现特定功能的文件,可以调用组件来构建模块,像ES6的Module、AMD、CMD均为js模块模块化的方案。(css模块化方案有less、sass等) (2)组件化:侧重于UI设计层面的拆分,例如提交按钮、确认按钮等,这些组件之间可以自由组合、独立可复用。(每个UI组件都应该包含html、css、js文件) (3)规范化:包括编码规范(eslint、文件命名规范等)、开发流程规范(code review等)等。 (4)自动化:包括自动化测试、构建、部署等,将简单重复的工作交给机器来做。(开发者提交本地代码后,merge master后就会跑自动化测试,包含单元测试、集成测试、e2e测试3种;测试通过后,代码会合入master,然后开始build,将源码转换为可运行的实际代码,比如安装依赖、配置各种资源等;之后当前代码就是一个可以直接部署的版本release。) 2. 如何封装一个组件????????React、Vue等框架都在引领着前端的组件化开发方向,React官方文档说:组件,类似于js函数,接受任意的入参,并返回用于描述页面展示内容的React元素。封装就是提供props去控制组件的行为,而不是直接暴露组件的内部结构。 (1)为什么要封装组件? ????????有利于代码的复用,减少代码冗余、并且也降低代码的维护难度。 ? ? ? ? 有利于单元测试。 (2)封装组件需要考虑的点
二、函数式编程三、单向数据流四、生命周期五、与Vue的比较 |
|
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 22:39:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |