2016-09-24 6 views
2

Ich lerne immer noch Reagieren und kann nicht die Bedeutung von PropTypes begreifen. Kann jemand ihre Gedanken geben, was sind die Vorteile der Definition Ihrer PropTypes? Ich habe die Diskussion darüber auf der React-Dokumentation gelesen, aber ich kann die Vorteile nicht verstehen, PropTypes abgesehen von Console Fehler/Warnungen zu sehen, wenn Typen nicht übereinstimmen. Er sagt, auf den documentationWelche Bedeutung haben PropTypes in React?

Wenn Schnittstellen entwerfen, bricht die gemeinsamen Design-Elemente (Schaltflächen, Formularfelder, Layoutkomponenten, etc.) in wiederverwendbare Komponenten mit gut definierten Schnittstellen nach unten. Auf diese Weise können Sie beim nächsten Mal, wenn Sie eine Benutzeroberfläche erstellen müssen, viel weniger Code schreiben. Dies bedeutet schnellere Entwicklungszeit, weniger Fehler und weniger Bytes auf dem Draht.

Also abgesehen von den Vorteilen habe ich ein paar andere Fragen:

  1. Wenn PropTypes definieren, werden Sie auf jeden Fall mehr Code zu schreiben, die diese Aussage in fett widerspricht.
  2. Eine andere Frage ist, sind PropTypes nur für untergeordnete Komponenten anwendbar, da Elternteile normalerweise keine Requisiten haben?
  3. Wenn ja, wie überprüfen wir die Arten der Zustände der Stammkomponenten, gibt es so eine StateTypes?
+0

* „Wie können wir die Arten von den Zuständen der übergeordneten Komponenten überprüfen“ * Es macht keinen Sinn Zustand zu überprüfen, da nur die Komponente selbst seinen Zustand ändern kann . –

Antwort

5

Reagieren dreht sich um das Konzept der Komponenten. Eine ganze Webseite sollte in Komponenten zerlegt werden und jede Komponente wird über props miteinander interagieren.

So, dies sind die Vorteile von einem Kind PropTypes

  • Validate die Stütze bestanden mit und den Entwickler warnen, wenn ein falscher Requisiten übergeben wird, die Ihre App brechen.
  • Als Team, wenn ein Mitglied des Teams eine Komponente erstellt, werden Sie wissen nicht, was damit zu tun, wenn Sie die PropTypes

PropTypes nicht zwingend zu sehen ist.

[EDIT] Antworten auf die Fragen, um

  1. Ja, werden Sie zusätzlichen Code schreiben. Aber, wenn Sie Ihre props, die extra Code ist, validieren müssen, müssen Sie es nicht selbst tun. Validierungen werden von React selbst durchgeführt.
  2. Nicht genau, es gibt einen Unterschied zwischen Parent und Root Komponente. Parent Komponente kann ein Kind eines anderen Parent sein, die ein Kind eines anderen sein kann. So nennen Sie es als Root Komponente, die an der Spitze der UI-Struktur sein wird. Mit dieser Definition können Sie sagen, dass PropType nur für Parent und Child, nicht Root Komponente gilt.
  3. Sie müssen nicht die stateType überprüfen, da state mit in einem Bereich der Komponente ist. Aber, props werden von einer Komponente zu einer anderen weitergegeben. Daher ist es nicht sinnvoll, state einer Komponente zu validieren, da diese Komponenten nicht von mehreren Komponenten gemeinsam genutzt werden. Selbst wenn es geteilt wird, kann dies nur durch props getan werden.

Hoffe, es hilft ...

+0

Vielen Dank für die Beantwortung der Vorteile. Hast du irgendwelche Einblicke in meine zusätzlichen Fragen? – JohnnyQ

+0

@JohnnyQ Die Antworten hinzugefügt. Ich hoffe es hilft! –

+0

@Pranesh Ravi Was ist, wenn die Requisiten aus dem Redux-Shop kommen, müssen wir noch immer die Proptypen definieren? –

0
  1. PropTypes lassen Sie Ihre Requisiten zu validieren, die sonst nicht möglich ist, da JavaScript lose Sprache eingegeben wird.

  2. Sie können props wo immer Sie sie benötigen, einschließlich der Eltern. Oder habe sie überhaupt nicht. Oft sind props der einzige Weg, um einige Werte oder Rückrufe von Eltern an Kinder und Enkelkinder (in der Tat ist es empfehlenswert) zu übergeben.

  3. Es gibt keine StateTypes.

+0

Vielen Dank für Ihre Nachricht. Wie überprüfen wir also die Typen der Anfangszustände, die von den Eltern/Hauptkomponenten initialisiert wurden? – JohnnyQ

Verwandte Themen