• React面试题总结


    1.组件之间如何通信

    1.父子组件之间通过props来通信

    2.通过自定义事件通信

    3.Redux和Context(父组件将数据传递给子组件,孙子组件,一直往下传)

    2.JSX的本质是什么

    createElement函数

    执行返回vnode

    3.Context是什么,有什么作用

    父组件向它下面的所有子孙组件传递信息

    比如一些简单的公共信息:主题,颜色等

    对于复杂的公共信息,使用Redux进行传递

    4.shouldComponentUpdate的使用

    性能优化,减少不必要的重复渲染

    5.Redux单向数据流

    View-->action-->dispatch-->reducer-->state-->view

    6.什么是纯函数

    函数的结果返回一个新值,不会修改其他值,没有副作

    如arr1=arr.slice()

    7.在React中,ajax应该放到哪个生命周期

    应该将ajax放到一个dom已经渲染完成的生命周期之中,这样整个应用会比较流畅,所以应该放入到ComponentDidMount之中

    8.渲染列表为什么要用key

    diff算法需要通过tag和key来判断是否为sameNode

    9.函数组件和class组件的区别

    函数组件输入props,输出JSX

    函数组件没有实例,没有生命周期,没有state

    不能拓展其他方法

    10.什么是受控组件

    表单的值受state控制

    需要自行监听onChange,更新State

    11.何时使用异步组件

    加载大组件

    懒加载

    12.多个组件有公共逻辑,如何抽离

    高阶组件(HOC)

    Render Props

    13.Redux如何进行异步请求

    使用异步action

    如Redux-thunk

    14.React性能优化

    1.渲染列表时加key

    2.自定义事件,DOM事件及时销毁

    3.合理使用异步组件

    4.减少bind this使用次数

    5.合理使用SCU PureComponent 和memo

    6.合理使用immutable.js

    7.前端通用的性能优化,如图片懒加载

    15.React和Vue

    1.相同点

    1.都支持组件化

    2.都是数据驱动视图

    3.都使用vdom操作DOM

    2.区别

    1.React使用JSX拥抱JS,Vue使用模板拥抱html

    2.React函数式编程,Vue声明式编程

    3.React的api并不成熟,需要自力更生,而Vue已经有了比较成熟和丰富的API

  • 相关阅读:
    大厂面试题-MVCC的理解
    人声分离神仙网站,用过都说好~
    集合类中的反常规特性
    Diffusion Autoencoders: Toward a Meaningful and Decodable Representation
    性能测试有哪些我们测试员必须要掌握的知识点?
    Mongodb操作与Java(四)MongoTemplate的使用
    理解渲染,吃透渲染,你应该知道的Android渲染优化小技巧
    Java面向对象2
    MySQL常见问题汇总
    全球与中国吸油烟机行业市场规模调研及未来前瞻报告2022-2028年
  • 原文地址:https://blog.csdn.net/weixin_44858541/article/details/126089329