@
otakustay react 的这些当然用过,写过挺多的组件,也做过一些项目, react 这些概念相对于 vue 这些完全不可比
其实你举得例子真正算特殊的也就 addons ,我们挨个盘点下
1. 动画,这个其实就提供个 container 当然这里有个坑,效果和多个子元素的 key 是相关的,除此之外这个 container 非常的简单,当然有些时候确实需要自己扩展些东西,可以自己搞个 container 替代,但对比下
http://cn.vuejs.org/guide/transitions.html2. 双向绑定这个不说了,其实这方案很少会用,要说成本,我们可以谈谈 vue 的整个库了
3. 测试工具和库无关复杂度无关概念无关, vue 有提供么?可能大多数都不写单元测试?这个我结合 airbnb 的 enzyme 可以测试 jsx 语法再加上 mocha + chai + jsdom 终端跑
4. 克隆组件,这个也是看需求非比要, React.cloneElement 就够用了
5. Immutability 这个看项目了,我觉得 vue 想引入还真挺不容易,毕竟有违双向绑定,当然 angular 也有 Immutability 的项目
6. PureRenderMixin 看性能的,非必要
7. 性能分析的 tools 就更不谈了
我想说的是我刚在举得例子里的 directive 里的这些概念在整个组件的生命周期里是有用的,而且这些概念的制造势必是在你写组件的时候需要,而且要理解的,这就是成本,而且这些东西和组件耦合的非常紧密,而不是可以拆出来如 addons 这样的