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

学一个前端 UI 框架,要学些什么内容?

假如你现在要自学 React/Vue 框架,怎么学?

绝大部分同学可能是这样学的:

  • 直接去看官方文档,或者是找一些视频看一遍,学会这个框架的一些基础语法,特性功能等等
  • 参考一些例子上手编写 demo,简单感受一下
  • 然后就是在工作中使用框架,碰到各种问题的时候,上网查找解决方案或者询问 AI
  • 最后就是自己想要深入学习的时候,才会去钻研学习它的原理

这样学好像也没什么问题,因为大家都是这么做的,包括我当初也是这样自学的。

但是,这样学有点像无头苍蝇,对于框架的应用经验全靠摸爬滚打一路踩坑才得来的,成长速度非常慢。

作为过来人,我觉得应该让你提前了解到:我们要学一个前端 UI 框架,应该要关注哪些内容

这样,可以提前有个概念,让你带着目标,查漏补缺地去学习,才能提升得更快。

如何操作 DOM 结构

首先要学的,是这个框架是如何操作 DOM 结构的。

现在流行的 UI 框架,主打的就是封装原生 DOM 操作,让我们可以不直接操作 DOM,只关注数据。

因此,我们更加需要了解,这个框架是怎样操作 DOM 的。核心是这些点:

  • 怎样创建 DOM tree?如何把创建好的 DOM tree 挂载到 document 中?
  • 怎样更新 DOM tree?怎样修改某个元素的内容?怎样插入元素?怎样移除元素?
  • 怎样读取 DOM 元素?虽然 UI 框架给我们做了很好的封装,但是在某些特殊场景中,我们还是要直接操作 DOM tree,框架是怎样提供这个能力的?
  • 怎样删除 DOM tree?如何把 DOM tree 从 document 中卸载?

如何操作样式

然后就要学习如何操作样式,CSS 是前端非常关键的一环。

框架把原生 DOM 封装起来了,我们就不能用常规的方法操作 CSS 了。

因此,我们需要关注这些点:

  • 如何给 DOM 元素添加样式 class?如何读取 DOM 元素的样式 class?如何更新 DOM 元素的样式 class?
  • 如何给 DOM 元素添加 inline style?
  • 如何读取 DOM 元素的 CSS style?如何修改 DOM 元素的 CSS style?

如何处理事件

接下来要学习处理事件。主要是以下这些功能点:

  • 如何给 DOM 元素绑定事件?
  • 如何给 DOM 元素解绑事件?
  • 是否遵循 DOM 事件标准?事件捕获和事件冒泡都有吗?
  • 如何获取事件对象?如何获取原始的事件对象?
  • 如何阻止冒泡?如何阻止默认行为?
  • 是否支持自定义事件?

如何处理表单

接下来是处理表单。毕竟对于前端来说,处理表单是基础能力。而涉及到表单的页面,往往都是比较复杂的,因此更加需要学习 UI 框架是如何让我们处理表单的。

对于处理表单,我们主要关注这些点:

  • 如何设置原生表单元素的属性?比如 value,disabled,placeholder 等等
  • 如何设置/读取不同表单元素的值?
  • 如何监听表单元素的值变化?
  • 如何获取表单的原生 DOM 元素?

如何实现组件化

前面都是 JavaScript 和 DOM 的必备功能,接下来我们需要重点学习组件化相关的内容。

现在流行的 UI 框架,主打的是组件化开发框架,这有利于我们组织复杂项目的代码,让代码更好被维护和复用。

对于组件化,我们要了解这个框架是如何实现组件化的,主要关注这些点:

  • 如何自定义组件?一个自定义组件的代码如何组织?
  • 如何创建组件?如何引入组件?
  • 组件的生命周期是怎样的?有哪些钩子,它们的作用分别是什么?

如何实现组件通信

当我们利用组件化的思想去组织我们的代码时,整个页面的结构就是一个组件树(component tree),

这时,我们需要关注一个非常重要的话题 —— 组件通信。

组件化可以让我们的代码内聚在某个组件内部,但这些组件是不能完全独立的,它们需要通过某些通信方式来协作,从而完成复杂的功能。

因此,我们需要学习这个框架是如何实现组件通信的,主要是以下这些点:

  • 父 -> 子 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 子 -> 父 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 祖 -> 孙 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 孙 -> 祖 的通信方式有哪些?各自的优缺点是什么、适用于什么场景?
  • 任意组件的通信方式有哪些?各自的优缺点是什么、适用于什么场景?

如何复用代码

最后,我们还要探索一个话题,就是如何复用代码。

组件化也是复用代码的一种方式,它复用的是整个组件的代码,这个组件可以用在很多地方,不需要重新写一个新的组件。

除了这个之外,我们还需要学习更细粒度的复用代码,比如如何复用某些逻辑,可以在多个组件中使用?

如果按照可被复用的代码量级来划分层级的话,我们有如下层级:

  • 函数:某个函数的代码可以在任何需要的地方被调用
  • 功能逻辑:特定功能的逻辑代码,可以被复用到各个组件,一般是多个函数的关联集合,或者是一个基类
  • 组件:某个组件可以在任何需要的地方被加载使用
  • 模块:整个业务功能模块被复用到有需要的页面中,通常是由多个组件组合而成
  • 页面:整个页面被复用到站点的业务流程之中

在学习 UI 框架时,我们不仅要学习组件层级的代码复用,还需要学习功能逻辑层级的代码复用。

功能逻辑层级的代码复用是在多个组件中复用代码,因此这一块是跟组件化的实现方案强关联的,因此我们在学习前端 UI 框架时,不能只学习组件化的使用方法,还需要进一步学习如何在多个组件之中复用代码的技巧,这样才能让我们写出更高质量的代码。

好了,现在你知道,在学习 React/Vue 的时候,我们应该学什么了吗?

只要你把上面我说到的这些点都学会了,你就真正学会 React/Vue 了。

----------------【END】----------------

如果你是真心喜欢前端,并相信成长,想要提升自己的话,欢迎加入之道前端学习圈子。

戳这里 免费获取 之道前端的学习资料和专属服务。


http://www.kler.cn/a/600017.html

相关文章:

  • 当人类关系重构:从“相互需要”到“鹅卵石化”——生成式人工智能(GAI)认证的角色与影响
  • 探索AI的无限可能,体验智能对话的未来,大模型 API 演示
  • linux ptrace 图文详解(三) PTRACE_ATTACH 跟踪程序
  • Edge浏览器如何默认启动某个工作区 / 为工作区添加快捷方式
  • docker 容器 php环境中安装gd 、mysql 等扩展
  • 数据库原理及应用mysql版陈业斌实验一
  • 【Docker系列二】 Docker 镜像
  • Spring-Mybatis框架常见面试题
  • Java面试第十三山!《设计模式》
  • 快速部署Samba共享服务器作为k8s后端存储
  • Android adb调试应用程序
  • 解锁应急管理新境界:AR眼镜与指挥平台的完美融合
  • 常见框架漏洞:Thinkphp(TP)篇
  • 【Git流程最佳实践】 开发较大功能时应使用project branch
  • WordPress二次开发中常用到的一些变量和函数
  • [C++面试] 你了解transform吗?
  • 嵌入式驱动开发方向的基础强化学习计划
  • fuctioncall使用经验
  • QA:备份产品的存储架构采用集中式和分布式的优劣?
  • ai-by-hand-excel: 用 Excel 手搓各种 AI 算法和模型