1. 什么是mixin
mixins(混合)是指定义一个对象,让组件去继承该对象的方法和状态的过程,该对象也被称为混入(混合)对象,用来解决代码复用的问题,事实上这个已经不被官方推荐使用了.因此本文只是简单介绍一下,毕竟前端的技术日新月异,老的技术就不用再浪费时间过多关注了.
若组件和被继承的混合对象具有相同的生命钩子函数,并且在执行该生命钩子函数时,混合对象的函数会优先执行,然后再到组件内相同函数执行,但仅限于生命钩子函数。
另外,组件内不允许有和混合对象相同命名的方法(非生命钩子函数)
mixin使用参考
https://segmentfault.com/a/1190000003016446
2.注意
Mixin 只适用于 ES5。也即是说,react中,使用class关键字创建的组件,是无法使用混入功能的,如果你的项目里面用的是 ES6 ,可以采用高阶组件 HOC.我们现在很少使用createClass创建组件了,加上mixin其他的一些缺陷,正因为这个原因,react已经抛弃mixin,这种方法不被推荐使用.
HOC可以参考以下文章
https://segmentfault.com/a/1190000018612397?utm_source=tag-newest
https://www.jianshu.com/p/43f9a0b601ff