2016-03-06 80 views
4

假设我有一个非常愚蠢的组件A.我不希望任何来自数据的渲染逻辑进入此组件。只需要一些原始数据并显示它。在React中使用工厂模式

哪种方法更有效?

  1. 创建只是一个沼泽标准厂房功能,即赋予不同的标志将创建不同的道具一个新的组件设置
  2. 制作包装组件,它完成了所有的逻辑和设定从数据正确的道具。

我的创建包装的恐惧是它只是在组件链中膨胀。当这感觉更切线。

回答

6

事实上,将逻辑从表示中分离出来在React中是很常见的,并且被认为是最佳实践。所以解决方案2是要走的路。

你的组件A可能是一个无状态函数http://facebook.github.io/react/docs/reusable-components.html#stateless-functions而它的父亲只有逻辑方法。

对于您的信息,这样的方案也是使用redux store的默认方式,请参阅http://redux.js.org/docs/basics/UsageWithReact.html#presentational-and-container-components