React 面试题2022-0526

1,485 阅读2分钟

第6章 React使用

6-2 JSX基本知识点串讲

  • 获取变量和插值

image.png

  • 表达式

image.png

  • 子元素

image.png

  • class

image.png

  • style

image.png

  • 原生html

image.png

  • 加载组件

image.png

6-3 JSX如何判断条件和渲染列表

条件判断

image.png

  • if else

image.png

  • 三元表达式

image.png

  • &&

image.png

列表渲染

  • map
  • key image.png

6-4 React事件为何bind this

事件

  • bind this 初始化执行一次 image.png image.png

image.png

  • 关于event参数

image.png

  • 传递自定义参数

image.png

6-5 React事件和DOM事件的区别

补传右面丢失:

image.png

  1. event 是 SyntheticEvent,模拟出来 DOM 事件所有能力
  2. event.nativeEvent 是原生事件对象
  3. 所有事件,都被挂载到 document 上
  4. 和 DOM 事件不一样,和 vue 事件也不一样

6-6 React表单知识点串讲

受控组件:(类似于 v-model)

image.png

image.png

6-7 React父子组件通讯

  • props 传递数据 image.png image.png

  • props 传递函数

image.png

image.png

image.png

  • props 类型检查

image.png

6-8 setState为何使用不可变值

  • 不可变值

image.png 不能改变原数组(函数式编程,纯函数)

image.png 对象

image.png

6-9 setState是同步还是异步

直接使用,异步:类比 vue $nextick image.png

setTimeout 中同步

image.png 自定义事件中,同步,在 componentDidMount 中

image.png

6-10 setState合适会合并state

  • state 异步更新的话,更新前会被合并 对象中(类似于Object.assign

image.png 函数中

image.png

6-11 React组件生命周期

image.png cdm cdu cwunm

  • 性能优化 image.png scu

6-12 React基本使用-知识点总结和复习

6-13 React函数组件和class组件有何区别

  • 只接受props,渲染结果 image.png

区别

image.png

6-14 什么是React非受控组件(input的值不受state的控制)

  • ref (类似vue ref= "ul1" this.$refs.ul1 )
  • defaultValue defaultCheckd
  • 手动操作 DOM 元素

image.png

image.png 上传文件 image.png image.png

非受控组件的-使用场景

image.png

  • 插入图片、文件

受控组件 vs 非受控组件

image.png

6-15 什么场景需要用React Portals(传送门)

image.png 固定定位

使用场景

image.png

6-16 是否用过React Context(上下文)

  • 公共信息(语言、主题)如何传递给每个组件(任意跨级)
  • props太繁琐(无法跨级)
  • redux小题大做

image.png image.png class 组件 (es6: static 静态属性) image.png 函数组件 image.png

6-17 React如何异步加载组件

  • 类比:import() --vue 使用
  • React.lazy
  • React.Suspense(悬念; 悬而未决,含糊不定; 焦虑,挂念; 中止,暂停.悬停)

image.png

image.png

6-18 React性能优化-SCU的核心问题在哪里(06:55)

SCU 基本用法: image.png

6-19 React性能优化-SCU默认返回什么

  • true (React默认:父组件更新,子组件则无条件也更新)

image.png

6-20 React性能优化-SCU一定要配合不可变值

image.png 在比较 nextProps 和 this.props 写法错误违反不可变值,导致改变原数组,从而不渲染 image.png

image.png

6-21 React性能优化-PureComponent和memo

  • PureComponent(纯组件),SCU中实现钱比较

image.png

  • memo(备忘录),函数组件使用

image.png

6-22 React性能优化-了解immutable.js(不可变值)

  • 彻底拥抱 不可变值
  • 基于共享数据(不是深拷贝),速度好

image.png

6-23 什么是React高阶组件(HOC)-公共组件逻辑的抽离

image.png

image.png 例子:

image.png

对比:vue 如何实现高阶组件?

6-24 Render Props

image.png

image.png image.png

image.png

6-25 React高级特性考点总结

6-26 Redux考点串讲

image.png

6-27 描述Redux单项数据流

image.png

image.png

  • dispath(action)
  • reduer -> newState
  • subscribe(触发通知)

6-28 串讲react-redux知识点

image.png

image.png 使用组件: image.png 参数使用了解构 image.png

image.png

image.png

6-29 action如何处理异步

image.png

image.png

image.png

6-30 简述Redux中间件原理

image.png

image.png

image.png

image.png

6-31 串讲react-router知识点

image.png

image.png

image.png

image.png

image.png

image.png

6-32 React使用-考点总结