- 博客(17)
- 收藏
- 关注
原创 2022年前端React的100道面试题的第17题:Ref的使用
问题React17 中对 Ref 的正确使用方式有哪些?选项A. React 会在组件挂载时给 current 属性传入 DOM 元素,并在组件卸载时传入 null 值。B. 此版本仅支持 React.createRef() 和回调函数两种获取 ref 对象方式。C. ref 会在 componentDidMount 或 componentDidUpdate 生命周期钩子触发前更新。D. 自定义组件支持通过传参 ref 属性绑定 Ref 对象。答案A、C纠错
2021-12-17 20:31:20
264
原创 2022年前端React的100道面试题的第16题:关于高阶组件
问题React17 中对高阶组件的作用正确的是?选项A. 高阶组件是参数为组件,返回值为新组件的函数。B. HOC 定义方式为修改传入的组件,或者通过继承方式进行复制。C. 可用于渲染劫持。D. 在 render 方法中使用 HOC 不会有性能问题。答案A、C纠错B. HOC 通过将组件包装在容器组件中来组成新组件。C. 在 render 方法中使用 HOC 会有性能问题。解答高阶组件(HOC)是 React 用于复用组件逻辑的一种高级技
2021-12-16 22:08:41
414
原创 2022年前端React的100道面试题的第15题:错误边界
问题React17 中错误边界(Error Boundaries)能正常捕获错误的场景有哪些?选项A. 绑定DOM的事件方法中的错误。B. 异步代码中的错误。C. 任意子组件树的渲染方法 render() 和所有生命周期方法中的错误。D. 错误边界组件自身的错误。答案C纠错A. 绑定DOM的事件处理方法中的错误无法被捕获到。(因为在触发交互前,组件的生命周期和渲染都已经被执行。如果需要捕获事件的方法中的错误,需要使用 JS 的 try / catch 方法
2021-12-11 00:45:06
491
原创 2022年前端React的100道面试题的第14题:Context的使用
问题React17 关于 Context 的使用正确的是?选项A. 它提供了一种在组件之间共享此类值的方式,而不必显式地通过组件树的逐层传递 props。B. 通过新旧值检测来确定变化,使用了与 immutable.is 相同的算法。C. 渲染一个订阅了 Context 对象的组件,则此组件会从组件树上层中离自身最近的那个匹配的 Provider 中读取到当前的 context 值。D. 只有当组件所处的树中没有匹配到 Provider 时,以及 Provider 的 value
2021-12-09 22:21:01
632
原创 2022年前端React的100道面试题的第13题:setState 方法
问题对 setState(updater, [callback]) 方法说明正确的是?选项A. 它应视为请求更新而不是立即更新组件的命令。B. updater 的返回值会与 state 进行深合并。C. 第二个可选回调函数是在 setState 完成合并后会立即执行。D. this.state 是在 shouldComponentUpdate() 返回 true 后,在 render() 执行前才会被更新的。答案A、D纠错B. updater 的返回值会与
2021-12-08 23:40:59
669
原创 2022年前端React的100道面试题的第12题:区分props和state
问题对 props 和 state 设计理解正常的是?选项A. 它们都是纯 JS 对象。B. props 只能来自父级,组件本身始终无法设置。C. 只有在 state 变化触发时,才会触发组件更新渲染。D. props 是一种将数据从父级传递给子级的方式, state 仅用于交互性,即随时间变化的数据。答案A、D纠错B. 如果选项是 ”props 只能来自父级,组件本身无法更新。“,那么就是正确的,是不能修改,而非不能设置。一个组件可以有默认的 props
2021-12-07 22:05:54
677
原创 2022年前端React的100道面试题的第11题:key属性
问题列表组件中的 key 理解正常的是?选项A key 是在创建元素数组时,需要用到的一个特殊字符串属性。B 应当给数组内的每个元素都设定 key,使元素具有固定身份标识。C 需要在整个应用程序甚至单个组件中保持唯一。D key 帮助 React 识别出被修改、添加的 item,但无法识别删除。答案A、B纠错C 只需要保证,在同一个数组中的兄弟元素之间的 key 是唯一的。而不需要在整个应用程序甚至单个组件中保持唯一。D key 帮助 React 识别
2021-12-03 09:24:49
589
原创 2022年前端React的100道面试题的第10题:元素绑定事件
问题React17 元素绑定事件与 DOM 绑定事件的差异有哪些?选项A React 事件的命名采用纯小写。B 使用 JSX 语法时你需要传入一个函数作为事件处理函数,而不是一个字符串。C 在 React 中另一个不同点是你可以通过返回 false 的方式阻止默认行为。D 在 React 事件方法接收到的 event 参数和元素是一样的。答案B纠错A React 事件的命名采用小驼峰式(camelCase),而不是纯小写C 在 React 中另一个不同
2021-12-02 16:05:27
391
原创 2022年前端React的100道面试题的第9题:受控与非受控组件
问题以下对 “受控组件” 和 ”非受控组件“ 描述正确的是?选项A 都支持在提交时进行一次性值检索;B 都支持实时验证;C 都支持动态输入;D 都支持数据(状态)和 UI(输入)始终保持同步;答案A纠错B 只有 “受控组件” 支持实时验证;C 只有 “受控组件” 支持动态输入;D 只有 “受控组件” 支持数据(状态)和 UI(输入)始终保持同步;解答受控组件为用 state 同步交互输入值,非受控则表示 state 内无用户交互数据。
2021-12-01 08:16:17
353
原创 2022年前端React的100道面试题的第8题:getDerivedStateFromProps方法
问题关于 static getDerivedStateFromProps 方法的理解正确的有哪些?选项A 会在调用 render 方法之后调用,并且在初始挂载及后续更新时都会被调用。B 它应返回一个对象来更新 state,如果返回 null 则不更新任何内容。C 存在只有一个目的:让组件在 props 变化时更新 state。D 是在16.4 版本新增的,用于替代 shouldComponentUpdate 生命周期。答案B、C纠错:A 会在调用 rend
2021-11-30 11:05:26
584
原创 2022年前端React的100道面试题的第7题:组件的constructor
问题React17生命周期构造函数constructor理解正确的是?选项A 仅在需要初始化 state ,或者方法绑定时声明 constructor。B 在 React 组件挂载之前,会调用它的构造函数。C 在 constructor() 函数中可以调用 setState() 方法,也可以直接给 this.state 赋值;D 要避免在构造函数中引入任何副作用或订阅。如遇到此场景,请将对应的操作放置在 componentDidMount 中。答案A、B、D解
2021-11-29 08:11:36
773
原创 2022年前端React的100道面试题的第5题:React渲染元素
问题React可被渲染的元素包含哪些?选项A JS的所有类型数据;B 原生DOM元素和React组件;C 数组形式包裹的有效元素;D React.Fragments 元素;答案B、C、D解答React 内置了一些类型检查的功能,要在组件的 props 上进行类型检查,你只需配置特定的 propTypes 属性,它对类组件和函数组织都支持:import PropTypes from 'prop-types';// 类组件class ClassC
2021-11-27 14:11:21
244
原创 2022年前端React的100道面试题的第4题:JSX安全性
问题JSX 是否默认支持防止注入攻击(XSS)?选项A 是B 否答案A解答根据开放网页应用安全计划(Open Web Application Security Project)公布的2010年统计数据,在Web安全威胁前10位中,XSS排名第2,仅次于代码注入(Injection)。 —— 百度百科React DOM 在渲染所有输入内容之前,默认会进行转义,主要是针对以下字符:& becomes &< becomes
2021-11-26 11:21:08
3448
原创 2022年前端React的100道面试题的第3题:React的渲染
问题ReactDOM.render() 渲染更新都会基于 Virtual DOM 技术方案,下面对其理解正确的是?选项A. 它相对于直接操作原生 DOM 最大的优势在于 diff(差异计算) 和 batching(合并更新)。B. render 方法是将 JSX 代码编译成 ReactELement 对象,它描述当前组件内容的数据结构。C. 比对的算法的复杂程度为 O(n 3 ),其中 n 是树中元素的数量。D. 提供了更好的跨平台的能力。答案A、B、D解答
2021-11-26 11:19:21
390
原创 2022年前端React的100道面试题的第2题:JSX的表达式
问题在 JSX 语法中,你可以在大括号内放置任何有效的 JavaScript 表达式包括哪些类型的描述是正确的?[ ] 算术,主要以“算术运算符”计算结果为数字的表达式;[ ] 逻辑,主要以“逻辑运算符”计算结果为真假值的表达式;[ ] 右侧表达式:用于给目标赋值的表达式;[ ] 字符串,主要以“字符串运算符”计算结果为字符串的表达式;答案A、B、D解答我们遵循以下的定义来理解表达式的概念。一个表达式是代码的任何有效单元,其解析为一个值。JavaS
2021-11-26 11:15:21
322
原创 2022年前端React的100道面试题的第1题: JSX的编写
问题由 JSX 编写的 React 组件,下面4个定义中正确的是哪些?选项A React 官方强制要求使用 JSX;B 组件除了名称必填,属性和子集都是可选定义;C 嵌套定义时,单个子集不用放在数组中;D 使用 React.createElement 方法时组件只支持 React.Component 的子类或者普通函数,不支持字符串;答案B解答JSX的解析是通过 React.createElement(component, props, ...childr
2021-11-26 11:14:06
522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人