react
react
React简介
React是一个用于构建用户界面的JAVASCRIPT库。
React主要用于构建UI,很多人认为React是MVC中的V(视图)。
React最早由Facebook的软件工程师Jordan Walke创建,于2013年5月开源。
React以组件的方式进行构建,可以灵活的组合各种组件来构建复杂的UI界面。
React的核心思想是:将页面拆分成一个个组件,然后通过组合这些组件来构建页面。
React的语法是jsx,通过使用这种语法,可以在react代码中直接混合使用js和html来编写代码,这样代码的逻辑就非常清晰,当然也意味着,需要将jsx代码编译成普通的javascript代码,才能在浏览器中运行,这个过程根据实际项目情况,可以选择多种不同的思路,或者在服务器端通过webpack进行编译。
React特点
1、声明式设计:React采用声明范式,可以轻松描述应用。
2、高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。
3、灵活:React可以与已知的库或框架很好地配合。
4、JSX:JSX是JavaScript的语法扩展,React开发不一定使用JSX,但我们建议使用它。
5、组件:通过组件构建无处不在的UI。
6、单向响应的数据流:React实现了一个单向响应的数据流,使得数据的变化更容易跟踪。
7、虚拟DOM:React使用虚拟DOM来提高性能。
8、服务器端渲染:React可以在服务器端渲染,也可以在客户端渲染。
9、社区活跃:React有一个活跃的社区,有很多成熟的第三方库。
10、工具:React有很多成熟的工具链,可以让你的开发更加高效。
11、React Native:React Native可以让你用React的开发方式来编写原生移动应用。
12、React VR:React VR可以让你用React的开发方式来编写VR应用。
13、React Fiber:React Fiber是React的新核心算法,它可以让React的性能更加出色。
14、React Hooks:React Hooks是React 16.8版本新增的特性,它可以让你在不编写class的情况下使用state以及其他的React特性。
15、React Concurrent Mode:React Concurrent Mode是React 16.9版本新增的特性,它可以让React的性能更加出色。
16、React Suspense:React Suspense是React 16.6版本新增的特性,它可以让你在数据获取的过程中展示loading状态,提升用户体验。
17、React DevTools:React DevTools是React官方提供的一款浏览器插件,可以让你在浏览器中调试React应用。
18、React Developer Tools:React Developer Tools是React社区提供的一款浏览器插件,可以让你在浏览器中调试React应用。
19、React Redux:React Redux是React社区提供的一个状态管理库,可以让你更加方便地管理React应用的状态。
20、React Router:React Router是React社区提供的一个路由库,可以让你更加方便地管理React应用的路由。
React优缺点
优点
- 虚拟DOM
- 组件化
- 单向数据流
- 服务端渲染
- 轻量级
- 高效
- 灵活
缺点
- 学习成本高
- 体积大
- 代码复杂
- 不利于SEO
- 不利于移动端