componentes son funciones que reciben datos(propiedades) y devuelven elementos de React.
por convencion el nombre de los componentes empiezan en mayusculas, entonces
function Saludo(props){
return <h1>hola {props.name} !! </h1>;
}
ReactDOM.render(<Saludo name="juan"/>, document.getElementById("bloque"));
en el browser aparecera:
hola juan
Si quisieras reutilizar este componente para imprimir varios saludos, simplemente lo tendriamos que llamar las veces que querramos dentro de una etiqueta contenedora, asi:
ReactDOM.render(<Saludo name="juan"/><Saludo name="pedro"/><Saludo name="luis"/>, document.getElementById("bloque"));
con estos conceptos, se pueden crear bloques de interface de usuario, veamos un ejemplo
un bloque con la foto y el nombre de un usuario....puede aparecer cuando hace un comentario...cuando se loguea...etc etc..
usando sintaxis de ecmsscript6...las functions la escribiriamos asi
const User =props=>{
return (
<div>
<img src={props.img} alt={props.name}></img><p>{props.name}</p>
</div>
);
};
ReactDOM.render(<User img="https://static-2.gumroad.com/res/gumroad/profiles/1b4a11533e4e2b8339d7fcda0e0373eb/original/kyle3B.png" name="webster"/>, document.getElementById("bloque"));
podemos ahora separar lo que hicimos antes en 2 componentes, uno para la imagen y otro para el nombre,
const Avatar = props => <img src={props.user.img} alt={props.user.name}></img>;// o { return <img src={props.img} alt={props.name}></img>;}
const UserName = props => <p>{props.user.name}</p>;
const User = props =>{
return (<div>
<Avatar user={props.usuario} />
<UserName user={props.usuario} />
</div>
);
}
const myUser = {
name : "lorde",
img : "http://www.thissongslaps.com/wp-content/uploads/2013/09/Royals-DOCO-Remix.jpg"
}
ReactDOM.render(<User usuario={myUser} />, document.getElementById("bloque"));
explicacion:
como los componentes Avatar y UserName retornan una sola expresion, podemos usar la sintaxis del codigo, sino se puede escribir como siempre
{ return <blablabla>;}
como son componentes que sabemos se van a usar en otros mas grandes, usamos un elemento intermedio del cual se sacaran los datos, en este caso lo llamamos user, por eso escribimos
<p>{props.user.name}</p>;
eso quiere decir que el componente superior nos debera enviar una propiedad llamada user
<Avatar user={props.usuario} />
que a su vez toma los valores de la propiedad usuario que nos envian desde el render
<User usuario={myUser} />,
myUser seria el objeto
Suscribirse a:
Enviar comentarios (Atom)
linux ubuntu mint actualizar chrome
desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable
-
por consola y desde la raiz de tu proyecto php artisan --version
-
en nuestro proyecto creamos una carpeta llamada donde estaran todas nuestras clases, por ejemplo una llamada: MiApp adentro de esta irian b...
-
Integridad al nivel de la base de datos Oracle Oracle valida la integridad de la base de datos y presenta los siguientes mensajes de erro...
No hay comentarios:
Publicar un comentario