排序
面试题:如果 React 的 Consumer 组件在上下文树中找不到 Provider,如何处理?
这是一个很好的问题,涉及到 React Context API 的健壮性设计。 当一个 Consumer 组件在组件树中找不到对应的 Provider 时,React 会使用在 createContext 时定义的 defaultValue(默认值)。 1...
面试题:为什么在 React 项目标签中使用 htmlFor 而不是 for?
在 React 项目中使用 htmlFor 而不是 for,主要原因如下: 1. JavaScript 保留字冲突 for 是 JavaScript 的保留关键字,用于 for 循环(如 for (let i = 0; i < 10; i++))。 React 组件的 J...
面试题:React 中如何为非受控组件设置默认值?
在 React 中,为非受控组件(Uncontrolled Component)设置默认值,需要使用特定的属性,而不是受控组件中使用的 value 属性。 核心方法:使用 defaultValue 和 defaultChecked 由于非受控组件...
面试题:React 项目中,如何动态改变组件的 class 来切换样式?
在 React 项目中,动态改变组件的 class 来切换样式是一个常见的需求。这可以通过多种方式实现,包括直接操作 className 属性、使用状态管理以及借助第三方库来简化样式处理。以下是几种主要的...
面试题:在 React Router 中如何获取历史对象?
在 React Router 中,“历史对象”(history object)用于导航和管理浏览器的历史记录栈。获取历史对象的方式随着 React Router 版本的演进而变化,尤其在 v5 和 v6 之间有重大差异。 以下是不...
面试题:React 的 displayName 属性有什么作用?
在 React 中,displayName 是一个可选的字符串属性,主要用于调试和开发工具中,为组件提供一个有意义的名称,以便在 React DevTools 和错误信息中更容易地识别组件。 核心作用 在 React DevToo...
面试题:React 组件的 state 和 props 有什么区别?
在 React 中,state 和 props 是管理数据的两个核心概念,它们都用于控制组件的渲染,但在来源、可变性、作用范围和使用场景上有本质区别。 核心区别速查表 特性stateprops来源组件内部定义和管...
面试题:为什么在 React 中使用 className 而不是 class?
在 React 中使用 className 而不是 class 来指定 HTML 元素的 CSS 类,主要原因如下: 1. JavaScript 语言保留字冲突 这是最核心的原因。 class 是 JavaScript (ES6) 中的一个保留关键字,用于...
面试题:React 的触摸事件有哪些?
在 React 中,为了支持移动设备上的触摸交互,提供了一系列触摸事件(Touch Events)。这些事件与原生 DOM 的触摸事件一一对应,但遵循 React 的合成事件系统(SyntheticEvent),并采用驼峰命...
面试题:什么是 React 的 getDefaultProps?它有什么作用?
getDefaultProps 是 React 早期(使用 React.createClass 方式) 用于为组件定义默认 props 的一个特殊方法。 历史背景与现状 属于 React.createClass:getDefaultProps 是在 React 使用 React....
