2017-10-27 7 views
2

Ich möchte eine React-Komponente mit recompose.pure und einer anderen Hoc komponieren (neu zusammensetzen).
In welcher Reihenfolge soll ich das tun?Best Practices für die Reihenfolge der Funktionen mit recompose.pure und recompose.compose

  • komponieren (rein, anOtherHoc) (MyComp);
  • komponieren (anOtherHoc, rein) (MyComp);

Was ist das Entscheidungskriterium?

import { compose, pure } from "recompose"; 
const MyComp = ({}) => (<div>test</div>); 
export default compose(pure, anOtherHoc)(MyComp); 

Antwort

2

Jedes an die Funktion compose übergebene Argument erstellt einen weiteren Wrapper um die Komponente, die Sie verbessern.

Also kommt es wirklich auf anOtherHoc - ist das eine reine Komponente, d. H. Muss es nur aktualisiert werden, wenn die Requisiten, die an es übergeben werden, geändert haben?

Wenn ja, setzen Sie zuerst pure, und es wird anOtherHoc wrap, die wiederum MyComp umschließt.

Wenn nicht, setzen sie nach anotherHoc, dann MyComppure wickeln wird, die MyComp wickeln wird.

+0

In meinem Fall ist einOtherHoc "injectIntl" von react-intl. Der Status dieses injectIntl ​​kann sich aus externen Gründen ändern (Sprachänderungen). Also injectIntl ​​muss vor rein sein ?? ist das richtig ? – asicfr

+0

Ich bin nicht vertraut mit dieser Bibliothek, ich würde einfach weitermachen und testen, ob der Wechsel der Sprache weiterhin funktioniert, wenn Sie es in "pure" verpacken –

Verwandte Themen