update react props method initial component reactjs ecmascript-6

props - reactjs update state



Reaccionar estática con clases de ES6 (4)

¿Funciona el objeto estático con las clases ES6 en React?

class SomeComponent extends React.Component { render() { // ... } } React.statics = { someMethod: function() { //... } };

Algo como lo anterior me da un método indefinido someMethod Método cuando hago SomeComponent.someMethod()


Aunque la statics solo funciona para React.createClass , puede escribir métodos estáticos en notación ES6. Si está utilizando ES7, también puede escribir propiedades estáticas.

Puede escribir statics dentro de clases ES6 + de esta manera:

class Component extends React.Component { static propTypes = { ... } static someMethod(){ } }

O fuera de la clase como este:

class Component extends React.Component { .... } Component.propTypes = {...} Component.someMethod = function(){....}

Si quieres escribirlo como el primero, entonces debes establecer el stage: 0 en Babel (ya que es experimental).


React.createClass solo funciona con React.createClass . Simplemente declare el método como un método de clase estático:

class SomeComponent extends React.Component { static someMethod() { //... } render() { // ... } }

Respecto a

React.statics = { ... }

Literalmente estás creando una propiedad statics en el objeto React . Esa propiedad no extiende mágicamente su componente.



Se puede acceder a Estática sin tener que crear instancias de un componente. Normalmente no son tan útiles, pero hay algunos casos especiales. Por ejemplo, en el enrutamiento cuando salga de la página actual con un ACTION PERFORM, a través de los métodos de Estática puede mantener / PREGUNTÓ al usuario si realmente quiere abandonar la página. Por ejemplo:

exampleComponent= React.createClass({ statics:{ willTransitionFrom: function(transition,component){ // check any state here or value Aasked the user. } } });

Expone willTransitionTo y willTransitionFrom lifecycle methods . Ambos son particulares, es útil como estático, ya que puede cancelar una transición antes de crear un componente.