reagieren: warum statische propTypes
Ich bin auf der Suche der redux todomvc-codes. Was ist die static
Schlüsselwort in static propTypes
?
Dank
UPDATE
Keine Ahnung, warum downvoted? Dieser Beitrag ist zu einfach? Kommentare sind willkommen. Danke. Ich hoffe, ich kann löschen Sie diesen post.
- "Ich hoffe, ich kann löschen Sie diese post." Sie brauchen nicht zu. Der Treffer ist das Ergebnis von drei negativen Stimmen ist vernachlässigbar, und nur weil drei Leute nicht, wie Ihre Frage es bedeutet nicht, dass andere Menschen nicht finden, diese Frage nützlich. Wer hat sich SO eingesetzt für eine Weile hat Sie mindestens eine Frage aus, dass Sie ein wenig peinlich zu Fragen (mich eingeschlossen), aber der springende Punkt an diesem Ort ist, um Menschen helfen, zu lernen, und auch "schlechte" Fragen, der kann das tun.
- Danke. In der Tat, ich habe einige javascript-Dokumente. Fand ich nicht
static
Eigenschaft. Vielleicht habe ich nicht Lesen Sie die Dokumente sorgfältig. natürlichstatic
ist sehr oft in anderen Sprachen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
static
war nicht Teil der letzten generation von Javascript ("ES5"), das ist der Grund, warum Sie nicht finden es in älteren Dokumentationen. Allerdings ist es, und der rest der "ES6" class-syntax wird unterstützt, die in allen gängigen Browsern außer Internet Explorer (http://caniuse.com/#search=es6), und wenn Sie ein transpiler wie Babel Sie können es verwenden, in jedem browser. Die meisten Reagieren Nutzer sind bereits mit Babel zu transpile Ihre JSX, so Reagieren die Seiten (wie Redux TodoMVC) nehmen es für selbstverständlich. Lesen Sie mehr überstatic
hier https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static.Im Fall von
static propTypes
, propTypes deklariert werden müssen auf die Klasse selbst, nicht auf die Instanz der Klasse. In anderen Worten, wenn Sie stateless Komponenten:Bei der Verwendung von ES6-Klassen, die äquivalent zu
Foo.PropTypes = somePropTypes
ist:Als Seite note, ist die Möglichkeit zum definieren von Eigenschaften in einer Klasse nicht existiert, in jedem browser (noch): Sie brauchen einen transpiler wie Babel mit der
transform-class-properties
plugin.propTypes
sind nicht einzigartig, um eine Instanz der Komponente. Sie brauchen auch nicht ändern pro Komponente. Deshalb macht es für Sie Sinn, um ein statisches Mitglied der Klasse.