React 基础面试题, React 组件的构造函数有什么作用?
React 基础面试题, React 组件的构造函数有什么作用?
QA
Step 1
Q:: React 组件的构造函数有什么作用?
A:: React 组件的构造函数通常用于初始化组件的状态(state)以及绑定事件处理方法。构造函数在组件实例化时调用,通常是通过调用 super(props)
来调用父类的构造函数,从而获取 this.props
。构造函数是定义初始状态(通过设置 this.state
)的理想场所,并可以在其中绑定方法以确保 this
关键字在回调中正确引用组件实例。
Step 2
Q:: 为什么在 React 组件中使用 super(props)
?
A:: 在 ES6
类中,如果要在构造函数中使用 this
,必须先调用 super(props)
。在 React 组件中,super(props)
允许你在构造函数中访问 this.props
。不调用 super(props)
将导致 this.props
在构造函数中不可用,并可能导致程序抛出错误。
Step 3
Q:: React 中的组件生命周期函数有哪些?
A:: React 的组件生命周期函数可以分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。挂载阶段包括 constructor()
、componentDidMount()
,更新阶段包括 shouldComponentUpdate()
、componentDidUpdate()
,卸载阶段包括 componentWillUnmount()
。每个阶段中的这些函数允许开发者在特定的时间点执行操作,例如在组件渲染完成后获取数据或在组件被销毁前清理资源。
Step 4
Q:: 在 React 中如何绑定事件处理器?
A:: 在 React 中,事件处理器通常通过箭头函数或在构造函数中显式绑定来绑定 this
。例如,this.handleClick = this.handleClick.bind(this);
可以在构造函数中进行绑定,确保 this
在处理器中引用组件实例。使用箭头函数(例如 onClick={() => this.handleClick()}
)也是常见的方法,因为箭头函数会自动绑定 this
。
Step 5
Q:: React 中的 state 和 props 有什么区别?
A:: 在 React 中,state
是组件的内部状态,是组件管理自身数据的一种方式。props
则是组件的输入参数,由父组件传递给子组件,子组件只能读取 props
,不能修改它们。换句话说,state
是组件私有的,可以随时更改;props
是外部传递给组件的,只能被动接收。