1. 为什么react组件,不默认集成Purecomponent?
-
PureComponent做了什么?
PureComponent做了层shallowEqual, 当prop, state改变时,可以通过shallowEqual去控制shouldCompoent返回结果,从而达到了减少render的目的~
if (this._compositeType === CompositeTypes.PureClass) { shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState); } -
那所有组件均集成PureComponent不是更好?
相比较而言:react 比 vue更灵活~
2. 社区对比
angular是非常完整的框架,它们就想解决所有可能遇到的这些问题,并把这些功能全都集成到框架中,对用户使用情况的假设越多,框架最终的灵活性就越低。
react社区灰常活跃
vue:提取出angular里的功能,例如:声明式数据绑定等;仍然保持一个很小的核心,只提供一些最重要的功能,提供独立解决方案,比如说路由,状态管理,构建工具链和 CLI