概述:
一个用于构建web
与原生交互界面的UI库,无论是独立开发者,还是团队协作,React 都可以轻松的组合由不同人群开发的组件,随写随插随用,方便快捷;
特点:
1、声明式设计:
React 采用声明式设计,是开发创建的交互界面变得简单易用。开发人员只需要创建自己想要的UI即可,剩下的由React 数据驱动DOM
完成界面的绘制渲染,使得开发便于维护;
2、组件化:
将复杂的界面交互,拆分成单一功能可复用的组件,保证组件清晰的逻辑方便维护管理,同时,组件之间相互组合可以轻易组装成复杂的场景,减少代码冗杂,提升组件的复用性;
3、高效性:
通过虚拟DOM
DIFF
算法来提高应用的性能,在用户增删改查操作时候,React 会通过对比新旧虚拟DOM
,批量更新,减少与真实DOM
的交互,来实现快速更新界面;
4、灵活性:
不强制要求开发者使用特定的开发设计模式,只要是开发者自己喜欢的技术栈即可,不管使用的是哪种技术栈,随时可以引入 React 进行开发功能;
5、JSX语法:
React 中允许使用类似 javascript
的XML
语法一样进行编写代码,可以将 js 与 html
编写在一起,是组件逻辑更加直观易读;
6、单向数据流:
React 的数据流,只会从父级传递到子级,形成单向数据流。子组件无法直接修改父组件的状态,需要通过调用父组件的事件方法来实现;单向数据流,数据管理清晰,状态管理简单,易于维护;
7、生命周期:
每个组件都有 挂载、更新、卸载 三个阶段;类组件中通过 React自带的生命周期函数实现
挂载:componentDidMount,
更新:componentDidUpdate
,
卸载:componentWillUnmount
实现;函数组件中通过 hook 模拟实现,如:useEffect useCallBack;
生命周期,便于根据不同的阶段,实现相应的逻辑,方便管理,提升代码的可控性;
8、HOOKS:
React 从 16.8开始引入 hooks函数,允许开发人员在函数式组件中使用状态,或者其他特性;简化组件的结构,减少类式组件的使用,可通过自定义hook 将复用的逻辑代码抽离,提高代码的可维护性
9、跨平台:
reactNative 使的一套 react 代码可以实现在web端 移动端开发应用,而实现跨平台;
接下来开始 React 的系统性文档整理之旅,主要针对16.8之后以函数式组件编写开发过程中的注意事项,欢迎各位批评指正