前端关于React面试题(一)

本文介绍了React的基础知识和面试常见问题,包括React的概念、特点、优点、局限性以及与Vue.js的对比。重点讲解了JSX、组件、状态和props的区别与管理,以及React事件处理和合成事件。此外,还讨论了在React中如何创建组件、使用Pure Components以及条件渲染等。
摘要由CSDN通过智能技术生成

1.什么是 React?

React 是一个开源前端 JavaScript 库,用于构建用户界面,尤其是单页应用程序。它用于处理网页和移动应用程序的视图层。React 是由 Facebook 的软件工程师 Jordan Walke 创建的。在 2011 年 React 应用首次被部署到 Facebook 的信息流中,之后于 2012 年被应用到 Instagram 上。

2.React 的主要特点和优点是什么?

  • 虚拟DOM,高效速度快
  • 支持在客户端和服务端渲染。。
  • 可复用/可组合的 UI 组件。
  • JSX 使代码易于读写。
  • 单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。
  • 跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。

3.React 的局限性是什么?

  1. React 只是一个视图库,而不是一个完整的框架。
  2. 对于 Web 开发初学者来说,有一个学习曲线。
  3. 将 React 集成到传统的 MVC 框架中需要一些额外的配置。
  4. 代码复杂性随着内联模板和 JSX 的增加而增加。
  5. 如果有太多的小组件可能增加项目的庞大和复杂。

4.与 Vue.js 相比,React 有哪些优势?

1.重新渲染和优化
当组件的状态发生变化时,React的机制会触发整个组件树的重新呈现。
您可能需要使用额外的属性(shouldComponentUpdate)来避免不必要地重新渲染子组件。
但Vue提供了优化的重新渲染,其中系统在渲染过程中跟踪依赖关系并相应地工作。

2.JSX与HTML
React使用JSX - 一种声明性JavaScript XML,允许开发人员利用JavaScript的强大功能编写组件,
而Vue.js使用HTML模板创建视图。

3.路由和状态管理解决方案
React提供了一种称为Flux / Redux架构的创新解决方案,它代表单向数据流,是着名MVC架构的替代方案。
Vue使用Vuex这个更高级架构,它集成到Vue中并提供无与伦比的体验。

4.建筑工具
React和Vue都有一个非常好的开发环境。只需很少或没有配置,您就可以创建应用程序,使您能够使用最新的实践和模板。
在React中,有一个Create React App(CRA),在Vue中,它是vue-cli。

5.监听数据变化的原理不同
React更多的是比较的数据的引用地址是否一样,Vue是通过数据劫持(Object.defindProperty)来监听数据变化

5.什么是 JSX?

JSX 是 ECMAScript 一个类似 XML 的语法扩展。基本上,它只是为 React.createElement() 函数提供语法糖,从而让在我们在 JavaScript 中,使用类 HTML 模板的语法,进行页面描述。

在下面的示例中,<h1> 内的文本标签会作为 JavaScript 函数返回给渲染函数。

class App extends React.Component {
  render() {
    return(
      <div>
        <h1>{'Welcome to React world!'}</h1>
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值