Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge #2

Merged
merged 27 commits into from
May 29, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
8f1644e
Crear un elemento y montarlo en el dom
jreategui07 May 5, 2020
e0cd85e
Expresiones en jsx
jreategui07 May 5, 2020
44a1feb
Crear componente funcional con React
jreategui07 May 5, 2020
234d63d
Props en un componente de React
jreategui07 May 5, 2020
7368798
Crear un componente con Estado usando clases
jreategui07 May 6, 2020
526a066
Inicializadores de propiedades para manejar eventos
jreategui07 May 6, 2020
f40d8b4
Inicializadores de propiedad (Property Initializers)
jreategui07 May 6, 2020
bccc3f2
Refactorización de componentes
jreategui07 May 6, 2020
16c7fa7
Aplicar estilos CSS en línea a componente de React
jreategui07 May 6, 2020
ccc07d0
Aplicar estilos con clases CSS en componente de React
jreategui07 May 6, 2020
eca71a8
Sistema de módulos CSS
jreategui07 May 6, 2020
962ebc3
Modularización de componentees en folder con ayuda de ES6
jreategui07 May 6, 2020
d923ac0
Mutuando el estado de un componente con una función
jreategui07 May 7, 2020
ac88ca6
Usando el operador spread para pasar props
jreategui07 May 7, 2020
6d1d240
Manejando eventos del mouse
jreategui07 May 10, 2020
876e614
Manejando eventos de Input
jreategui07 May 10, 2020
e465ad7
Conservar eventos con React
jreategui07 May 10, 2020
bd08ce9
Crear eventos personalizados con React
jreategui07 May 10, 2020
a870645
Optimizaciones componente EventoPersonalizadoPrincipal
jreategui07 May 10, 2020
1483b17
Optimizaciones de componentes
jreategui07 May 10, 2020
70113e2
Renderizando condicionales con React
jreategui07 May 10, 2020
a9cdf1b
39-prop-children
jreategui07 May 15, 2020
90f5954
Inyectando HTML con React
jreategui07 May 15, 2020
98b2a51
Merge branch '39-prop-children' into develop
jreategui07 May 15, 2020
fb18dbe
fragments en react
jreategui07 May 15, 2020
2f5d69c
React Portals
jreategui07 May 15, 2020
5775d0d
Merge pull request #1 from jreategui07/43-prop-types
jreategui07 May 29, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<div id="modal-root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
Expand Down
38 changes: 0 additions & 38 deletions src/App.css

This file was deleted.

62 changes: 39 additions & 23 deletions src/App.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,42 @@
import React from 'react';
import logo from './logo.svg';
import './App.css';
import React, { Component } from 'react'
/* import TarjetaFruta from './components/TarjetaFruta';
import Contador from './components/Contador';
import GatoPrincipal from './components/Gato'
import EventoMouse from './components/EventoMouse'
import EventoInput from './components/EventoInput'
import ConservarEvento from './components/ConservarEvento'
import EventoPersonalizadoPrincipal from './components/EventoPersonalizado'
import Saludo from './components/Saludo'
import Title from './components/Title';
import InyectarHTML from './components/InyectarHTML';
import Fragments from './components/Fragments'; */
import PortalModalPrincipal from './components/PortalModal';

class App extends Component {

function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
render() {

return (
<div>
{/* <TarjetaFruta name={'Manzana'} price={5} />
<TarjetaFruta name={'Naranja'} price={4} />
<TarjetaFruta name={'Pera'} price={3} />
<Contador/>
<GatoPrincipal />
<EventoMouse />
<EventoInput />
<ConservarEvento />
<EventoPersonalizadoPrincipal />
<Saludo saluda name="Jonathan" />
<Title uiColor="purple">
Ninja <em>PRO</em>!
</Title>
<InyectarHTML />
<Fragments /> */}
<PortalModalPrincipal />
</div>
)
}
}

export default App;
export default App;
9 changes: 0 additions & 9 deletions src/App.test.js

This file was deleted.

36 changes: 36 additions & 0 deletions src/components/ConservarEvento/ConservarEvento.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import React from 'react'
import { Component } from "react";

export class ConservarEvento extends Component {

state = {
color: 'blue'
}

handlerChange = (event) => {

const color = event.target.value;

this.setState({
color
})

}

render() {
return (
<div>
<input
type="text"
onChange={this.handlerChange}
/>
<h1 style={{color: this.state.color}}>
{this.state.color}
</h1>
</div>
)
}

}

export default ConservarEvento
1 change: 1 addition & 0 deletions src/components/ConservarEvento/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from './ConservarEvento'
30 changes: 30 additions & 0 deletions src/components/Contador/Contador.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import React, { Component } from "react";

export class Contador extends Component {
state = {
video: {
title: "Super video",
likes: 0,
},
};

add = () => {
this.setState((state) => ({
video: {
...state.video,
likes: this.state.video.likes + 1,
},
}));
};

render() {
return (
<div>
<h1>{this.state.video.title}</h1>
<button onClick={this.add}>Clicks: ({this.state.video.likes})</button>
</div>
);
}
}

export default Contador;
1 change: 1 addition & 0 deletions src/components/Contador/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {default} from './Contador';
40 changes: 40 additions & 0 deletions src/components/EventoInput/EventoInput.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import React from 'react'
import { Component } from "react"

export class EventoInput extends Component {

state = {
text: '',
evento: ''
}

manejador = (event) => {
this.setState({
text: event.target.value,
evento: event.type
})
}

render() {
return (
<div>
<input
type="text"
onChange={this.manejador}
onCopy={this.manejador}
onPaste={this.manejador}
/>
<br/>
<h1>
{this.state.text}
</h1>
<h2>
{this.state.evento}
</h2>
</div>
)
}

}

export default EventoInput
1 change: 1 addition & 0 deletions src/components/EventoInput/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {default} from './EventoInput'
40 changes: 40 additions & 0 deletions src/components/EventoMouse/EventoMouse.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import React from 'react'
import { Component } from "react";

const styles = {
height: '200px',
background: 'gold',
padding: '1em',
boxSizing: 'border-box'
}

export class EventoMouse extends Component {

state = {
x: 0,
y: 0
}

manejador = (event) => {
this.setState({
x: event.clientX,
y: event.clientY
});
}

render() {
return (
<div style={styles} onMouseMove={this.manejador}>
<div>
x: {this.state.x}
</div>
<div>
y: {this.state.y}
</div>
</div>
)
}

}

export default EventoMouse
1 change: 1 addition & 0 deletions src/components/EventoMouse/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {default} from './EventoMouse'
22 changes: 22 additions & 0 deletions src/components/EventoPersonalizado/EventoPersonalizado.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import React from 'react'
import { Component } from "react";
import './global.css'

class EventoPersonalizado extends Component {

manejadorClick = () => {
this.props.onSaludar('Ninja en React!!!')
}

render() {
return (
<div className="box blue">
<h1>Hola!</h1>
<button type="text" onClick={this.manejadorClick}>Click!</button>
</div>
)
}

}

export default EventoPersonalizado
32 changes: 32 additions & 0 deletions src/components/EventoPersonalizado/EventoPersonalizadoPrincipal.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import React from 'react'
import { Component } from 'react'

import EventoPersonalizado from './EventoPersonalizado'
import './global.css'

class EventoPersonalizadoPrincipal extends Component {

state = {
mensaje: ''
}

manejador = (event) => {
this.setState({
mensaje: event
})
}

render() {
return (
<div className="box red">
<EventoPersonalizado onSaludar={this.manejador} />
<h1>
Mensaje: {this.state.mensaje}
</h1>
</div>
)
}

}

export default EventoPersonalizadoPrincipal
13 changes: 13 additions & 0 deletions src/components/EventoPersonalizado/global.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.box {
padding: 1em;
box-sizing: border-box;
border-radius: 0.2em;
}

.red {
border: 1px solid red;
}

.blue {
border: 1px solid blue;
}
1 change: 1 addition & 0 deletions src/components/EventoPersonalizado/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {default} from './EventoPersonalizadoPrincipal'
34 changes: 34 additions & 0 deletions src/components/Fragments/Fragments.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import React from 'react'

const Computacion = () => (
<React.Fragment>
<li>Monitor</li>
<li>Mouse</li>
<li>Teclado</li>
</React.Fragment>
)

const Ropa = () => (
<React.Fragment>
<li>Playera</li>
<li>Jeans</li>
<li>Shorts</li>
</React.Fragment>
)

class Fragments extends React.Component {

render() {
return (
<div>
<ul>
<Computacion />
<Ropa />
</ul>
</div>
)
}

}

export default Fragments
1 change: 1 addition & 0 deletions src/components/Fragments/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export {default} from './Fragments'
Loading