1、说一下React
React是Facebook 开发的前端JavaScript库
V层:react并不是完整的MVC框架,而是MVC中的C层
虚拟DOM:react引入虚拟DOM,每当数据变化通过reactdiff运算,将上一次的虚拟DOM与本次渲染的DOM进行对比,仅仅只渲染更新的,有效减少了DOM操作
JSX语法:js+xml,是js的语法扩展,编译后转换成普通的js对象
组件化思想:将具有独立功能的UI模块封装为一个组件,而小的组件又可以通过不同的组合嵌套组成大的组件,最终完成整个项目的构建
单向数据流:指数据的流向只能由父级组件通过props讲数据传递给子组件,不能由子组件向父组件传递数据
要想实现数据的双向绑定只能由子组件接收父组件props传过来的方法去改变父组件数据,而不是直接将子组件数据传给父组件
生命周期:简单说一下生命周期:Mounting(挂载)、Updateing(更新)、Unmounting(卸载)
2、什么是JSX?为什么浏览器无法读取JSX
JSX 是JavaScript XML 的简写,是 React 使用的一种文件
它利用 JavaScript 的表现力和类似 HTML 的模板语法
使得 HTML 文件非常容易理解。此文件能使应用非常可靠,并能够提高其性能
浏览器只能处理 JavaScript 对象,而不能读取常规 JavaScript 对象中的 JSX
所以为了使浏览器能够读取 JSX,首先,需要用Babel转换器将 JSX 文件转换为 JavaScript 对象,然后再将其传给浏览器
3、