React 基础面试题, 为什么在 React 中使用 className 而不是 class?
React 基础面试题, 为什么在 React 中使用 className 而不是 class?
QA
Step 1
Q:: 为什么在 React 中使用 className 而不是 class?
A:: 在 React 中使用 className
而不是 class
是因为 class
是 JavaScript 的保留关键字。为了避免冲突,React 使用了 className
来表示 HTML 元素的类属性。React 会将 className
转换为标准的 HTML class
属性,从而确保在 DOM 中生成正确的 HTML。
Step 2
Q:: React 中的组件生命周期有哪些?
A:: React 的组件生命周期方法包括三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。在挂载阶段,组件会经历构造函数(constructor)、componentDidMount
等方法;在更新阶段,组件会经历shouldComponentUpdate
、componentDidUpdate
等方法;在卸载阶段,组件会调用componentWillUnmount
方法。每个阶段的生命周期方法允许开发者在组件的不同状态下执行特定的操作。
Step 3
Q:: 什么是 JSX,为什么要使用它?
A:: JSX 是一种 JavaScript 的语法扩展,允许在 JavaScript 中编写类似 HTML 的代码。JSX 使得开发者可以直观地编写用户界面代码,而不需要使用 React.createElement
来构建 React 元素。JSX 是 React 的核心特性之一,它提高了代码的可读性和可维护性。编译器会将 JSX 转换为标准的 JavaScript 代码。
Step 4
Q:: React 中的状态管理(state management)是什么?
A:: React 中的状态管理是指在组件中管理数据的方式。每个组件可以有自己的状态,通过 setState
方法可以更新状态,从而触发组件的重新渲染。对于复杂的应用,可能需要跨多个组件共享状态,这时可以使用 React 的上下文(Context)API 或者像 Redux、MobX 这样的第三方状态管理库。