使用React的工厂模式

时间:2016-03-06 14:00:23

标签: reactjs

假设我有一个非常愚蠢的组件A.我不希望数据中的任何渲染逻辑都进入这个组件。只需获取一些原始数据并显示即可。

解决这个问题的反应方式是什么?

  1. 只创建一个沼泽标准工厂函数,给定不同的标志将创建一个具有不同道具集的新组件
  2. 制作一个包装组件,完成所有逻辑并从数据中设置正确的道具。
  3. 我对创建包装器的恐惧是它在组件链中更加膨胀。当这感觉更像一个切线。

1 个答案:

答案 0 :(得分:6)

实际上,在React中将逻辑与表示分离是很常见的,并且被认为是最佳实践。因此,解决方案2是可行的方法。

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

有关您的信息,此类方案也是使用redux商店的默认方式,请参阅http://redux.js.org/docs/basics/UsageWithReact.html#presentational-and-container-components