无状态组件
当一个组件只有render函数的时候,我们就可以用一个无状态组件来定义这个组件。其实无状态组件就是一个函数,同时这个函数会接收一个props,也就是父组件传递过来的内容。此时可以直接用prop
s而不是this.props
无状态组件相对普通组件的优势在:
无状态组件的性能比较高,因为它就是一个函数,而普通的组件是普通的JS里的类,这个类生成的对象里面还会有一些生命周期函数,它执行起来既要执行生命周期函数又要执行render。它执行的代码远比普通的函数执行要多,所以如果一个组件只有render函数就用无状态组件来定义性能会更好。
当我们去定义一个UI组件的时候,它只负责页面渲染没有任何页面逻辑操作的时候,UI组件一般都可以用无状态组件来定义。其实UI组件里做一些简单的数据处理也是可以的。