2017-08-02 35 views
-2

假设我有一个表单X来呈现另外两个组件,并且这些组件有很多子组件,直到现在没关系,但是如果我有另一个表单Y,那么它的大部分逻辑是与表单X相同,子表单中只有一些逻辑是Y表单的自定义,处理这种情况的最佳做法是什么? 它是由jsx条件语句,通过传递一个道具来指示当前正在使用哪种形式? 或通过继承组件并为每个表单应用自定义逻辑?如何在反应中扩展表单组件

enter image description here 这里的关系,如果我想创建一个面向对象的解决方案,但getFirstComponent方法,就会有很多的子组件,如果我想添加自定义逻辑最下部分或者我需要创建一个扩展新的组件类原始组件并重写render方法来添加我的自定义逻辑,或者通过传递一个标志来指示现在正在使用哪种表单并使用JSX条件来做出决定。

+0

你可以给一个[示例](https://stackoverflow.com/help/mcve)? –

+0

@TomDavies在问题中描述,如果不清楚会详细说明更多 – M1M6

+0

是的,不太清楚你以后是什么。如果你可以编辑这个问题来包含一个显示X的结构和Y的结构的小例子,那么我认为它会有所帮助。 –

回答

0

我会建议让X尽可能通用,这可以在任何地方使用。您可以将X分为两部分(X1和X2),其中第一部分应该是最常见的(可以在任何地方使用)。所以你可以使用X和X1中的X1和X2以及Y(= X1 +其他一些事物)中的一些附加(其他逻辑)。