面试题:在 React 中,如何判断点击的元素属于哪个组件?
在 React 中,判断点击的元素属于哪个组件,核心思路是利用事件对象 (event) 和 DOM 元素的特性来确定点击目标。由于 React 使用合成事件 (SyntheticEvent),并且组件最终会渲染为具体的 DOM 节...
面试题:什么是 React 受控组件和非受控组件?它们有什么区别?
在 React 中,组件可以分为受控组件 (Controlled Components) 和非受控组件 (Uncontrolled Components)。这种分类主要针对处理表单元素(如 <input>, <textarea>, <select>)...
面试题:React.createClass 和 extends Component 有哪些区别?
React.createClass 与 extends Component 的区别 这是 React 发展过程中的一个重要变化,主要体现在 React 15.5 版本之前和之后的写法差异。 1. 语法定义区别 React.createClass (旧版) // Reac...
面试题:为什么在 React 中使用 className 而不是 class?
在 React 中使用 className 而不是 class 来指定 HTML 元素的 CSS 类,主要原因如下: 1. JavaScript 语言保留字冲突 这是最核心的原因。 class 是 JavaScript (ES6) 中的一个保留关键字,用于...
面试题:Vue 计算属性的函数名和 data 中的属性可以同名吗?为什么?
不可以。在 Vue 中,计算属性(computed)的函数名不能与 data 中的属性同名。 如果尝试这样做,Vue 会抛出一个明确的运行时错误。 为什么会报错? Vue 的设计原则是确保数据来源的唯一性和可预...
面试题:Vue 的 v-show 和 v-if 有什么区别?使用场景分别是什么?
v-show 和 v-if 都是 Vue.js 中用于条件渲染的指令,但它们在实现原理、性能特性和使用场景上有显著区别。 核心区别对比 特性v-ifv-show实现原理条件性地渲染/销毁 DOM 元素。通过 CSS 控制 dis...
面试题:在 Vue 组件中写 name 选项有什么作用?
在 Vue 组件中定义 name 选项是一个良好的实践,它虽然在大多数基础功能中不是必需的,但在多个关键场景下发挥着重要作用。 name 选项的主要作用 1. 递归组件(Recursive Components) 这是 nam...
面试题:Vue 2.0 支持哪个版本以上的 IE 浏览器?
Vue 2.0 官方支持 IE9 及以上版本的浏览器。 详细说明 最低支持版本: Vue 2.x 需要浏览器支持 ES5 的特性(如 Object.defineProperty)。 IE9 是第一个对 ES5 提供了基本完整支持的 Internet E...
面试题:为什么不建议在 Vue 中同时使用 v-if 和 v-for?
这是一个 Vue 开发中的重要性能和最佳实践问题。不建议在同一个元素上同时使用 v-if 和 v-for,主要是因为它们的优先级会导致性能问题和逻辑混乱。 1. 优先级问题(核心原因) 在 Vue 2.x 中,v...
面试题:在 Vue 渲染模板时,如何保留模板中的 HTML 注释?
在 Vue.js 中,默认情况下,模板中的 HTML 注释会在编译和渲染过程中被自动移除。这是 Vue 为了优化最终渲染的 DOM 结构、减少不必要的节点而采取的策略。 然而,在某些特殊场景下(如调试、与...





