You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My name is Antonio Sejas, I am a React Trainer and this is my intro for 20h bootcamp in 2018
<ahref="https://sejas.es" target="_blank"><strong>FullStack & Mobile Remote Developer</strong></a>, Ingeniero Superior en Informática (UPM), Mongo Developer Certified (MongoDB University) y mentor de <ahref="https://reactjs.org/" target="_blank"><strong>React</strong></a> de los estudiantes de Udacity.
Con más de 10 años de experiencia, he desarrollado software para grandes marcas como Telefónica, BlackBerry, Randstad, General Electric, Udacity y Pernod Ricard.
Apasionado de la educación, me encanta aprender y compartir conocimientos a través del <ahref="https://github.es" target="_blank"><strong>open source</strong></a>.
01 Scripts y div #root
Introducción a React - 01 Scripts y div #root
<!DOCTYPE html><!-- https://github.com/reactspain/curso-introduccion-react/blob/01-scripts-div-root/index.html --><htmllang="es"><head><metacharset="UTF-8"><metaname="viewport" content="width=device-width, initial-scale=1.0"><metahttp-equiv="X-UA-Compatible" content="ie=edge"><title>Mi primera aplicación de React by JSSchool</title><!-- Scripts --><!-- 0.- Librería React --><scriptsrc="https://unpkg.com/react@16.4.1/umd/react.production.min.js"></script><!-- 1.- Librería Auxiliar React para renderizar Dom --><scriptsrc="https://unpkg.com/react-dom@16.4.1/umd/react-dom.production.min.js"></script><!-- 2.- Traductor de JSX y ES6 --><scriptsrc="https://unpkg.com/babel-standalone@6.26.0/babel.min.js"></script><!-- /End Scripts --></head><body><!-- 3.- Etiqueta Raíz donde se renderizará nuestra app --><divid="root"></div><!-- 4.- Código de nuestra app React --><scriptsrc="index.jsx" type="text/babel"></script></body></html>
IntroducciónaReact-03PropsoPropiedades//https://github.com/reactspain/curso-introduccion-react/blob/03-props/index.jsx'use strict'// 0.- Nuestro primer componenteclassHolaextendsReact.Component{render(){// 2.- mostrar la propiedad `quien`return<h1>¡Hola {this.props.quien}!</h1>;}}// 1.- Renderizar nuestra AppReactDOM.render(// 3.- Pasar un mensaje en la propiedad `quien`<Holaquien="Universo React"/>,document.getElementById("root"))
04 Props o Propiedades
IntroducciónaReact-04PropsoPropiedades'use strict'// 0.- Nuestro primer componenteclassHolaextendsReact.Component{render(){// 2.- mostrar la propiedad `quien`return<h1>¡Hola {this.props.quien}!</h1>;}}// 4.- Definimos un componente que renderiza otro componenteclassAppextendsReact.Component{render(){return<Holaquien="Universo React"/>;}}// 1.- Renderizar nuestra AppReactDOM.render(// 3.- Pasar un mensaje en la propiedad `quien`<App/>,document.getElementById("root"))
05 State o Estado
IntroducciónaReact-05StateoEstado'use strict'// 0.- Nuestro primer componenteclassHolaextendsReact.Component{// 5.- Añadimos la propiedad statestate={emoticono: '😎'}render(){// 2.- mostrar la propiedad `quien`return<h1>¡Hola {this.props.quien}{this.state.emoticono}!</h1>;}}// 4.- Definimos un componente que renderiza otro componenteclassAppextendsReact.Component{render(){return<Holaquien="Universo React"/>;}}// 1.- Renderizar nuestra AppReactDOM.render(// 3.- Pasar un mensaje en la propiedad `quien`<App/>,document.getElementById("root"))
06 setState para cambiar el valor del estado
IntroducciónaReact-06setStateparacambiarelvalordelestado'use strict'// 0.- Nuestro primer componenteclassHolaextendsReact.Component{// 5.- Añadimos la propiedad statestate={emoticono: '😎'}// 6.- Método donde utilizamos la funcion `setState`cambiarEmoticono(){letemoticono='🤩'if(emoticono===this.state.emoticono){emoticono='😎'}this.setState({emoticono})}render(){// 2.- mostrar la propiedad `quien`return<h1>¡Hola {this.props.quien}{this.state.emoticono}!</h1>;}}// 4.- Definimos un componente que renderiza otro componenteclassAppextendsReact.Component{render(){return<Holaquien="Universo React"/>;}}// 1.- Renderizar nuestra AppReactDOM.render(// 3.- Pasar un mensaje en la propiedad `quien`<App/>,document.getElementById("root"))
07 onClick interacciones con el usuario
IntroducciónaReact-07onClickinteraccionesconelusuario'use strict'// 0.- Nuestro primer componenteclassHolaextendsReact.Component{// 5.- Añadimos la propiedad statestate={emoticono: '😎'}// 6.- Método donde utilizamos la funcion `setState`cambiarEmoticono=()=>{letemoticono='🤩'if(emoticono===this.state.emoticono){emoticono='😎'}this.setState({emoticono})}render(){// 2.- mostrar la propiedad `quien`// 7.- añadimos un botón con el atributo onClickreturn<div><h1>¡Hola {this.props.quien}{this.state.emoticono}!</h1><buttononClick={this.cambiarEmoticono}>Cambiar estado</button></div>;}}// 4.- Definimos un componente que renderiza otro componenteclassAppextendsReact.Component{render(){return<Holaquien="Universo React"/>;}}// 1.- Renderizar nuestra AppReactDOM.render(// 3.- Pasar un mensaje en la propiedad `quien`<App/>,document.getElementById("root"))
Ejercicio Básico Presidentes
EjercicioBasicoPresidentesReactclassPresidentesextendsReact.Component{presidentes=[{nombre: "Rajoy",status: "funcionario"},{nombre: "Felipe González",status: "retirado"},{nombre: "Aznar",status: "retirado"},{nombre: "Pedro Sanchez",status: "presidente"},]render(){returnthis.presidentes.filter(p=>"presidente"!==p.status).map(p=>(<divkey={p.nombre}>{p.nombre}</div>))}}// 1.- Renderizar nuestra AppReactDOM.render(// 3.- Pasar un mensaje en la propiedad `quien`<Presidentes/>,document.getElementById("root"))