Universidad React
Universidad React
Universidad React
#Udemy/React
* NPM - Es un repositorio y gestor de paquetes
* Babel - Toma el código moderno y actualizado y lo transforma en código compatible con
cualquier navegador
* WebPack - Permite usar módulos, permite mitificarlos y comprimiendo
## 6. Chrome DevTools
Herramientas de desarrollo
### Console
```javascript
console.error("Woops ha ocurrido un error");
//arroja un mensaje de error a la consola
```
### Elements
Sirve para inspeccionar todos los elementos que hay en nuestra página, seleccionarlos y
hacer cambios de estilos.
### Network
Ver linea de tiempo, información y recursos que se han estado cargando en nuestra
página.
Podemos filtrar por tipos de recursos
Podemos simular una conexión específica.
//DESPUES
//El archivo js se movio a /components/Card/Card.js lo cual seria repetitivo colocarlo de
esta manera en el import por lo cual podemos renombrar el archivo a
/components/Card/index.js de esa manera nuestro import qudara asi
import Card from "./components/Card";
```
Esto dara como resultado que posteriormente cuando el proyecto crezca tengamos una
gran cantidad de archivos índex.js y el soporte pueda ser complicado.
Una forma mas, es dentro de la carpeta del componente, dejar el nombre como ::Card.js::
y crear otro archivo índex.js donde tengamos la importación y la exportación del mismo.
```javascript
//component/Card/index.js
export {default} from './Card'
```
## 27. Entendiendo el Object.assign()
Nos ayuda a clonar un objeto o a combinar las propiedades de objetos diferentes.
```javascript
// Se le pueden pasar un numero indefinido de objetos
// El orden de los factores si afecta el resultado ya que si encuentra una propiedad que ya
se habia agregado previamente, la sobreescribira
//Solo actua sobre las propiedades de primer nivel
const resultado = Object.assign(
{}, //el primer argumento es el objeto destino
objeto1,
objeto2,
:
:
:
objetoN
)
```
```
## 29. Operador spread con arrays
El operador spread, funciona con cualquier objeto iteradle como arreglos y listas
## 30. Manejando el estado de un componente con una función
El metodo setState es asincrono.
## 31 . Usando operador spread para pasar props
```javascript
class App extends Component {
render (){
const otrosDatos = {
raza: 'Persa',
ataque: 300
}
return (
<div>
<Gato
name="Garfield"
age="2 años"
//otrosDatos={otrosDatos} //Esto da como resultado un objeto anidado
{...otrosDatos} //Podemos pasar esas otras propiedades usando el operador
spread
></Gato>
</div>
)
}
}
```
## 32. Manejando eventos del mouse
Usando los escuchadores de eventos se pueden ejecutar funciones del componente
```javascript
class App extends Component {
state = {
x: 0,
y: 0
}
render (){
return (
<div style={styles}
onMouseMove={this.manejador}
>
<div>
x: {this.state.x}
</div>
<div>
y: {this.state.y}
</div>
</div>
)
}
}
```
## 33. Eventos de input
Los escuchadores de eventos pueden variar según el elemento al que se le coloquen
// event.persist()
//Tambien, en vez de persistir el evento, podemos hacer una copia del valir, ya que se
javascript
//copia los valores primitivos por valor y no por referencia
const color = event.target.value
console.log(event.target.value)
//Esto deberia de marcar error, segun el video, ya que despues de que se ocupa el
evento se limpia y
//setState es asincrono, cuando se ejecuta el evento ya esta limpio
//pero no marco error al usar
this.setState(state => ({
// color: event.target.value
color
}))
}
render (){.....
```
## 36. Crear eventos personalizados con React
Esta es la forma de comunicación entre un componente hijo y un padre
## Renderizados condicionales con React