2017-08-04 4 views
0

Ich versuche, eine Komponente in React zu erweitern. Ich habe read this in the docs, dass es empfohlen wird, Komposition statt Vererbung zu verwenden, um Code zwischen Komponenten wiederzuverwenden.Erweitern der Reaktionskomponente Zusammensetzung

Basierend darauf habe ich das Folgende implementiert und glaubte, dass dies der richtige Ansatz ist. (Es funktioniert). Siehe Code unten.

class ComponentExtension extends Component { 

    //*** extras to extend the original component here ***// 
    //*** omitted for the purposes of this question ***// 

    render() { 
    return <OriginalComponent />; 
    } 

} 

jedoch dann auf die weitere Forschung stieß ich auf Higher Order Components in the docs. Was ist der Unterschied zwischen den beiden Ansätzen? Sollten Sie einen Ansatz in einer Instanz und einen anderen Ansatz in einer separaten Instanz verwenden? Lösen sie sogar ein identisches Problem?

Antwort

0

Wenn Sie die Komponente erweitern möchten, sollten Sie etwas tun:

class ComponentExtension extends OriginalComponent { 
     //*** extras ***// 
} 

Und wenn Sie HOC verwenden, können Sie nur eine Komponente in die andere wickeln.

+0

Ich tat das ursprünglich, aber wenn Sie hier lesen, wird empfohlen, das nicht zu tun https://facebook.github.io/react/docs/composition-vs-inheritance.html. Sie sollten die Komposition über die Vererbung auswählen –

Verwandte Themen