排序
面试题:在 React Router 中如何获取历史对象?
在 React Router 中,“历史对象”(history object)用于导航和管理浏览器的历史记录栈。获取历史对象的方式随着 React Router 版本的演进而变化,尤其在 v5 和 v6 之间有重大差异。 以下是不...
面试题:React 中 setState 什么时候是同步的,什么时候是异步的?
这是一道React面试中出现频率极高且容易答错的经典题。关键在于理解:setState的“同步/异步”不是由代码本身决定的,而是由调用环境决定的。 下面给出完整、准确的答案。 一、核心结论 在React...
面试题:如何在 React 中阻止事件的默认行为?
在 React 中阻止事件的默认行为,需要调用事件对象(SyntheticEvent)上的 preventDefault() 方法。不能使用 return false 的方式,因为这在 React 中无效。 ✅ 正确方法:使用 event.preventDe...
面试题:React 中,父子组件如何进行通信?
在 React 中,组件通信是构建复杂应用的核心。父子组件通信是最基础、最常见的方式,其核心原则是 “数据单向流动” —— 数据从父组件流向子组件。 1. 父组件向子组件传递数据:通过 props 这...
面试题:React 中 Element 和 Component 有什么区别?
这是一道考察React核心概念的基础题,虽然简单但很容易说错。关键在于理解:Element是描述,Component是函数或类。 下面从本质、创建方式、用途等维度来拆解。 一、核心结论 Element是一个普通...
面试题:如何将事件传递给 React 子组件?
在 React 中,由于事件处理逻辑通常位于父组件,而事件触发于子组件(如按钮点击),因此需要将事件处理函数从父组件作为 props 传递给子组件。这是 React 数据和逻辑自上而下流动的典型体现。 ...
面试题:React Router 中的 Link 标签和 HTML 的 a 标签有什么区别?
在 React 应用中,<Link> 标签(来自 React Router)和原生的 HTML <a> 标签虽然都用于导航,但它们在工作原理、用户体验和性能上有本质区别。 核心区别总结 特性<Link> (Rea...
面试题:React 中有几种构建组件的方式?它们的区别是什么?
在 React 中,构建组件主要有三种方式,随着 React 版本的演进,推荐的方式也在不断变化。以下是当前主流的组件构建方式及其区别: 1. 函数组件 (Function Components) 定义:使用 JavaScript ...
面试题:React 组件的 state 和 props 有什么区别?
在 React 中,state 和 props 是管理数据的两个核心概念,它们都用于控制组件的渲染,但在来源、可变性、作用范围和使用场景上有本质区别。 核心区别速查表 特性stateprops来源组件内部定义和管...
面试题:什么是 React 的 getDefaultProps?它有什么作用?
getDefaultProps 是 React 早期(使用 React.createClass 方式) 用于为组件定义默认 props 的一个特殊方法。 历史背景与现状 属于 React.createClass:getDefaultProps 是在 React 使用 React....
