React 基础面试题, React 的 getInitialState 方法有什么作用?
React 基础面试题, React 的 getInitialState 方法有什么作用?
QA
Step 1
Q:: React 的 getInitialState 方法有什么作用?
A:: getInitialState 是 React 中创建类组件时用于初始化组件状态(state)的一个方法。这个方法返回一个对象,表示组件的初始状态。需要注意的是,getInitialState 只能在使用 ES5 React.
createClass 方法创建组件时使用,在现代 React 中,通常使用 constructor 来初始化状态或使用函数组件与 useState 钩子。
Step 2
Q:: 在现代 React 中,如何初始化组件的状态?
A:: 在现代 React 中,如果使用类组件,可以通过在 constructor 方法中调用 this.
state 来初始化状态。如果使用函数组件,则可以通过 useState 钩子来管理和初始化状态。useState 接受一个初始状态作为参数,并返回当前状态和一个用于更新状态的函数。
Step 3
Q:: 什么是 React 中的 state 和 props,它们之间的区别是什么?
A:: State 是组件内部的数据,能够通过用户交互或其它事件发生变化,并影响组件的渲染。Props 是组件的输入参数,由父组件传递给子组件,通常是不可变的。State 用于存储组件内部的动态数据,而 props 则用于传递数据和配置给子组件。
Step 4
Q:: React 中的生命周期方法有哪些?这些方法在应用中如何使用?
A:: React 类组件有几个重要的生命周期方法,包括 componentDidMount、componentDidUpdate、和 componentWillUnmount 等。componentDidMount 在组件挂载后执行,常用于数据获取或订阅;componentDidUpdate 在组件更新后执行,适用于处理基于新 props 或 state 的副作用;componentWillUnmount 在组件卸载时执行,常用于清理工作,如取消订阅或定时器。
Step 5
Q:: 为什么建议在构造函数中调用 super(props)
?
A:: 在 React 类组件的构造函数中,调用 super(props) 是为了确保 this.context 和 this.props 在构造函数中被正确初始化。super() 调用父类的构造函数,如果不传递 props 参数,则 this.
props 可能在构造函数内未定义,导致访问 props 出现问题。