React类组件和函数组件的区别

1.类有自己的this,函数没有
2.类需要实例化,函数不需要
3.类需要继承,函数不需要
4.类有生命钩子,mount,undata,unmount
5.类有自己的state,函数组件需要通过hook

经典场景:
函数会形成闭包。而类组件得到的都是最新的值。
函数组件:当用户选择苹果,点击购买后,再切换浏览香蕉,提示信息反馈用户下单的是苹果。
类 组 件 :当用户选择苹果,点击购买后,再切换浏览西瓜,提示信息反馈用户下单的是西瓜!

该按钮3秒(模拟网络延迟)后会弹出一个alert提示用户下单的商品。为什么结果不一致呢? 参数props本身是不可变的,函数组件中的showMessage在3秒延迟后拿到的仍然是原来的props.goods。 但是类组件中实例的this是可变的,类组件中的showMessage在3秒延迟后去拿this.props.goods时,由于this发生了变化,所以造成取到的值不是原来的值。

你可能感兴趣的:(react.js,前端,前端框架)