React 基础面试题, React 的类组件和函数式组件有什么区别?
React 基础面试题, React 的类组件和函数式组件有什么区别?
QA
Step 1
Q:: React 的类组件和函数式组件有什么区别?
A:: React 类组件(Class Component)是使用ES6的class语法定义的组件,它们可以拥有自己的状态(state)和生命周期方法,如componentDidMount、componentDidUpdate等。函数式组件(Functional Component)是使用函数定义的组件,之前它们只能接收props,不能拥有自己的状态和生命周期方法,但自从React 16.8
版本引入了Hooks,函数式组件也可以使用state和其他功能,增强了它们的功能性。
Step 2
Q:: React 中的生命周期方法是什么?
A:: React 的生命周期方法是类组件特有的一些方法,用于在组件的不同阶段执行特定代码。主要包括三个阶段:1) 挂载阶段(Mounting):componentDidMount等方法。2) 更新阶段(Updating):componentDidUpdate等方法。3) 卸载阶段(Unmounting)
:componentWillUnmount方法。函数式组件通过使用useEffect等Hook来实现类似的效果。
Step 3
Q:: React Hooks 是什么?
A:: React Hooks 是 React 16.8
引入的一项新特性,允许在函数式组件中使用状态和其他 React 特性。常用的 Hooks 包括 useState、useEffect、useContext、useMemo 和 useReducer 等。它们让函数式组件能够执行以前只能在类组件中使用的功能。
Step 4
Q:: 如何在 React 中管理组件状态?
A:: 在 React 中,组件的状态(state)可以使用类组件中的 this.state 和 this.
setState 方法管理,或在函数式组件中通过 useState Hook 管理。对于复杂的状态管理,可以使用 useReducer Hook,或者结合外部状态管理工具,如 Redux 或 MobX。
Step 5
Q:: React 中的 PropTypes 和 TypeScript 有什么区别?
A:: PropTypes 是 React 的一种类型检查工具,允许开发者为组件的 props 指定预期的类型,从而在运行时捕获类型错误。TypeScript 是一种静态类型检查工具,它在编译阶段就能捕获类型错误,并提供更强大的类型系统和自动补全功能。TypeScript 能够为整个应用提供更严格的类型安全,而 PropTypes 通常只用于 React 组件的 props 检查。