React组件设计相关的问题时:
有经验的求职者就会想到函数组件,类组件以及纯组件
高阶组件和渲染劫持相关内容?...
横向比较,纵向延伸
正确的方式比学习本身更重要,也使得学习更高效
纵向深挖问题,基于树状结构去掌握知识点的底层原理
React:
组件基础
状态管理
渲染流程
性能优化
React Hooks
React生态
组件基础:
React原理
JXS
生命周期
组件类型
设计模式
【方法论:讲、说、理、列】
讲:讲概念(最好用一句话概括)
说:说用途(是扩展性描述)
理:理思路 (核心思路和运作流程)
列:优缺点(列一遍)
采用非线性的结构化模式阐述答案:
React:
讲概念(一句话解释技术本质)
说用途(简短说明技术用途)
理思路(概要说明核心技术思路)
优缺点(独特优势,个别缺点)
讲概念:
react的概念就是数据和组件
说用途:
react的用途就是构建视图
核心思路:
声明式:直观,便于组合
组件化:降低耦合,提高聚合
通用性:抽象为虚拟DOM,走向更广阔的平台
优点:
声明式,组件化,通用性
缺点:
技术选型和学习成本较高
答题:
概念:React是一个网页UI框架,
用途:通过组件化的方式解决视图层开发的复用问题,本质上是一个组件化框架
核心:声明式,组件化,通用性
声明式优势在于直观和组合
组件化的优势在于视图的拆分和模块的复用,更容易做到高内聚和低耦合
通用性的优势在于一次学习,随处编写。比如 react native react 360 ,这里主要是靠虚拟DOM来保证实现
这使得React的使用范围及其广泛,无论是 web 还是native,还是vr,甚至是shell应用都可以进行开发。这也是react的优势
但做为视图层的框架,react的劣势也十分明显
他并没有提供一揽子解决方案
在开发大型前端应用的时候,需要寻找并整合解决方案
虽然一定程度上促进了社区的繁荣
但也为开发者在技术选型和学习上造成了一定的成本