什么是React?
半开放性题目四步走
- 讲概念,讲技术本质
- 说用途,说场景
- 理思路
- 列优缺点
答案:
React是一个ui框架,通过组件化的方式解决视图层开发复用的问题,本质是一个组件化框架(也可以说是一个UI组件开发库).
他的核心思路有三点:声明式,组件化,通用性.
声明式的优势在于直观与组合
组件化的优势在于视图的拆分和模块复用,降低耦合
通用性在于一次学习,随处编写,跨端比如react-native,等,这也是react的一大优势
react劣势也很明显,react没有提供一揽子的解决方案,好在社区生态比较繁荣,比如redux,react-router
React为什么要用jsx
不能只回答一句话 jsx简单易用,react官方推荐
答题: JSX是已给JavaScript的语法扩展,结构类似XML
JSX主要用于声明React元素,但React中并不强制使用JSX,即使使用JSX,在构建过程中,通过Babel插件编译为React.createElement,所以JSX更像是React.createElement的一种语法糖 React官方并不想引入JavaScript本身以外的开发体系,而是希望通过合理的关注点分离保持组件开发的纯粹性
JSX和目前模板语法相比,我认为优势蛮大的,若使用模板,则还需引入模板语法等,增加用户心智.
和模板字符串比, 模板字符串边编写会造成内部嵌套严重,且对编辑器不友好