这些是我平时翻阅+面试遇到的面试题,可能会不全,但还会继续补充!!!!!!
1、 什么是React?
- React 是 Facebook 在 2011 年开发的前端 JavaScript 库。
- 它遵循基于组件的方法,有助于构建可重用的UI组件。
- 它用于开发复杂和交互式的 Web 和移动 UI。
- 尽管它仅在 2015 年开源,但有一个很大的支持社区。
2、 React有什么特点?
1、生命式设计:react采用声明范式。
2、高效:react通过对DOM的模拟,最大限度减少DOM交互。
3、灵活:react可与已知的库和框架很好的配合。
4、JSX:JSX 是一个看起来很像 XML 的 JavaScript 语法扩展。
5、组件:通过react构建组件,使得代码更加容易得到复用,能够很好应用在大项目开发中。
6、单向页面的数据流:react实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。
3、 列出React的一些主要优点。
- 它提高了应用的性能
- 可以方便地在客户端和服务器端使用
- 由于 JSX,代码的可读性很好
- React 很容易与 Meteor,Angular 等其他框架集成
- 使用React,编写UI测试用例变得非常容易
4、 React有哪些限制?
React的限制如下:
- React 只是一个库,而不是一个完整的框架
- 它的库非常庞大,需要时间来理解
- 新手程序员可能很难理解
- 编码变得复杂,因为它使用内联模板和 JSX
5、 区分Real DOM和Virtual DOM
Real DOM | Virtual DOM |
---|---|
1. 更新缓慢。 | 1. 更新更快。 |
2. 可以直接更新 HTML。 | 2. 无法直接更新 HTML。 |
3. 如果元素更新,则创建新DOM。 | 3. 如果元素更新,则更新 JSX 。 |
4. DOM操作代价很高。 | 4. DOM 操作非常简单。 |