react proptypes reactjs redux react-proptypes

reactjs - react proptypes install



reaccionar: por qué propTypes estáticos (2)

Estoy buscando los códigos toxvc redux . ¿Cuál es la palabra clave static propTypes en static propTypes ? Gracias

ACTUALIZAR

No tengo idea de por qué downvoted? ¿Es esta publicación demasiado simple? Los comentarios son bienvenidos Gracias. Espero poder borrar esta publicación


propTypes no son exclusivos de una instancia del componente. Tampoco cambian por componente. Por lo tanto, tiene sentido que sean un miembro estático de la clase.


static no era parte de la última generación de Javascript ("ES5"), por lo que no lo encontrará en la documentación anterior. Sin embargo, y el resto de la sintaxis de la clase "ES6" ahora es compatible con todos los navegadores más importantes excepto Internet Explorer ( http://caniuse.com/#search=es6 ), y si usa un transpiler como Babel, puede usarlo en cualquier navegador. La mayoría de los usuarios de React ya están usando Babel para transpilar su JSX, por lo que los sitios de React (como Redux TodoMVC) lo dan por hecho. Puede leer más sobre la static aquí https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static .

En el caso de static propTypes , propTypes deben declararse en la clase en sí, no en la instancia de la clase. En otras palabras, si usa componentes sin estado:

function Foo() { this.PropTypes = somePropTypes; // bad return <div></div>; } Foo.PropTypes = somePropTypes; // good

Cuando se usan clases ES6, el equivalente de Foo.PropTypes = somePropTypes es:

class Foo extends React.Component { static PropTypes = somePropTypes; }

Como nota al margen, la capacidad de definir propiedades en una clase como esa no existe en ningún navegador (todavía): necesita un transpiler como Babel con el plugin transform-class-properties .