使用React的多个渲染变体?

时间:2016-09-02 18:13:34

标签: javascript reactjs

我使用React构建了一个Web应用程序,该应用程序已启动并运行良好。我可能只是把它放在一边,但是有一个方面令我不安,我认为我需要做一些重构,因为我在做的事情似乎并不适合我。顺应React的流程。我对其他人感兴趣'视图。

我有一个React类Product,我用它来跟踪页面上的产品。存储在州中的唯一属性是“数量”,但我有各种功能,可以通过pub / sub更新篮子。根据此Product类的使用方式和位置(无论是在表格中还是在详细视图中,无论是在移动设备上还是在桌面上),必要的显示都是完全不同的。所以在我的渲染功能中,我会不同地调用renderForDetailOnMobile' renderForTableOnMobile' renderForDetailOnDesktop' renderForDetailOnDesktop'和' renderForTableOnDesktop'。

正如我所说的那样,这对我来说并不是很反应,好像我把整个事情颠倒了(尽管应用程序的其余部分是,我会说更多的惯用) 。那么应该如何思考,以便将其分解为单独的较小的类,这是我想象的我应该做的?对不起,出于隐私原因,它无法实际编写代码,因此我希望此描述能够使情况更加清晰。

1 个答案:

答案 0 :(得分:0)

您应该使用Reducer或store,具体取决于您是使用flux还是redux应用程序。这有助于您了解您的状态及其变化。

我发现您在Product中使用了州,而您应该使用上述商店。

所以,我如何看待问题是你有数据源,你需要根据设备要求对其进行转换。

在这种情况下,我会制作一个容器,用于加载其他组件,负责转换和呈现不同设备的数据。 容器应该相当简单,只需根据满足的条件返回正确的组件。