前端理论面试-react篇

前端理论面试-react篇

1.react生命周期

组件将要挂载时触发的函数:componentWillMount
组件挂载完成时触发的函数:componentDidMount
是否要更新数据时触发的函数:shouldComponentUpdate
将要更新数据时触发的函数:componentWillUpdate
数据更新完成时触发的函数:componentDidUpdate
组件将要销毁时触发的函数:componentWillUnmount
父组件中改变了props传值时触发的函数:componentWillReceiveProps

2.类组件和函数组件之间有什么区别?

类组件( Class components )
无论是使用函数或是类来声明一个组件,它决不能修改它自己的 props 。
所有 React 组件都必须是纯函数,并禁止修改其自身 props 。
React是单项数据流,父组件改变了属性,那么子组件视图会更新。
属性 props 是外界传递过来的,状态 state 是组件本身的,状态可以在组件中任意修改
组件的属性和状态改变都会更新视图。
--
函数组件(functional component)
函数组件接收一个单一的 props 对象并返回了一个React元素
--
函数组件和类组件当然是有区别的,而且函数组件的性能比类组件的性能要高,因为类组件使用的时候要实例化,而函数组件直接执行函数取返回结果即可。为了提高性能,尽量使用函数组件。
区别函数组件类组件是否有this没有有是否有生命周期没有有是否有状态state没有有

3.什么是受控组件?

在HTML当中,像 ,