在Facebook React中,使用mixin和component来实现代码重用。

8 浏览
0 Comments

在Facebook React中,使用mixin和component来实现代码重用。

我开始在一个Backbone项目中使用Facebook React,目前进展非常顺利。然而,我注意到我的React代码中出现了一些重复的问题。

例如,我有几个类似表单的小部件,其状态包括INITIAL,SENDING和SENT。当按钮被按下时,需要对表单进行验证,发送请求,然后更新状态。当然,状态是保存在React的this.state中的,同时还包括字段值。

如果这些是Backbone视图,我会提取一个名为FormView的基类,但我的印象是React既不支持也不支持子类化来共享视图逻辑(如果我错了,请纠正我)。

我看到了React中代码重用的两种方法:

- Mixins(例如React附带的LinkedStateMixin);

- 容器组件(例如react-infinite-scroll)。

我是否正确理解,在React中,mixins和容器组件优于继承?这是一个有意的设计决策吗?对于我在第二段中的“表单小部件”示例,使用mixin还是容器组件更合理?

0