2016-03-31 15 views
5

Ich habe die React-Dokumentation durchgesehen und bin auf die statische Methode gestoßen. Ich fragte mich, in was für einem Szenario es sinnvoll sein könnte und an nichts denken konnte.Statische Methoden in React

Gibt es ein bestimmtes Szenario, in dem statische Methoden nützlich sind, wenn Komponenten in React erstellt werden?

Antwort

6

defaultProps und propTypes sind statische Mitglieder von React-Komponenten, sie ändern sich nicht für jede Instanz. Siehe https://facebook.github.io/react/docs/reusable-components.html

Ein Beispiel für statische Eigenschaften ist in der Lage zu verfolgen, wie viele Instanzen eines Objekts erstellt wurden (nicht Reagieren spezifisch). Beachten Sie, dass statische Methoden meistens ein Code-Geruch sind, wenn Sie den Status ändern.

Ein anderes Beispiel ist eine Möglichkeit, Konstanten zu speichern.

var Contacts = React.createClass({ 
    statics: { 
    MAX_VALUE:100 
    }, 
    render: function() { 
    return (<div > Hello { 
     this.props.name 
    } < /div>); 
    } 
}); 

if (someValue > Contacts.MAX_VALUE) { 

} 
+0

Was ist der Unterschied in einer regulären Methode und Aufruf innerhalb der Komponente und mit einer statischen Methode? – ramesh

+0

React lässt Sie beide verwenden und sie verhalten sich gleich. In der Regel kann sich alles, was sich nicht ändert, am Prototyp oder als Eigenschaft für den Konstruktor befinden, sodass eine einzelne Kopie verwendet wird. Der Hauptunterschied besteht darin, dass Sie sie pro Instanz überschreiben können, wenn Sie sie auf den Prototyp setzen. –

+0

Haben Sie ein konkretes Beispiel, in dem eine statische Methode gegenüber der anderen bevorzugt wäre? – ramesh