React without ES6 and JSX
React
Week
Luisa Vaca
- Amo las plantas
(🌺🌻🌼🌷🌱🌲🌳🌴🌵🌾🌿🍁🍂)
- Los animales
(🐼🐙🐱🐘🐧🐞🐷🐮)
- Tengo 26 años
(🙎🏻)
- Soy Front-End Developer por pasión.
(💪🏻)
- Tengo dos años de experiencia y trabajo en Globant hace 1 año.
¿Qué es exactamente React?
React es una librería para construir interfaces de usuario.
¿Por qué decidí explicar esto ?
JSX - ES6
FLUX - REDUX
WEBPACK
¡Pure React!
Element vs Component
Element
Element
Es un objeto que representa un Nodo en el DOM.
Javascript podrá crear y destruir estos elementos sin mucho esfuerzo.
Javascript podrá analizar el objeto retornado por el método createElement a su vez analizar el DOM y actualizar el Dom en el sitio especifico dónde ocurrió el cambio.
El metodo para crear elementos con react sera: React.createElement()
-
Tag
-
{Classes -styles}
-
Children
React.createElement(component, props, ...children)
//With jsx
<div className="containerCLass">
<h1 className="colorIdClass">
<input
type="range"
min='0'
max='255'
defaultValue="255"
onChange={ update }
>
</div>
//Without jsx
var inputPropierties = {
type: 'range',
min: '0',
max: '255',
defaultValue: this.props.default,
onChange: this.props.update
};
React.createElement('div', containerCLass,
React.createElement('h1', colorIdClass),
React.createElement('input', inputPropierties)
)
React.DOM()
//Lo que realmente retorna y se pasa al metodo render de React DOM:
{
type: 'div',
props: {
children: [
{
type: h1,
class: 'colorIdClass'
},
[...]
},
class: 'containerCLass'
]
}
//Lo que react DOM nos retornará:
<div class:"containerCLass">
<h1 class:"colorIdClass">
<input
type="range"
min='0'
max='255'
defaultValue="255"
>
</div>
React element, objeto que representa un nodo en el DOM
¡Finalmente será HTML!
😌
¿Recuerdan qué es HTML semántico?
Componentes
Stateful Component
Y
Stateless Component
Stateful Component
¡Un poco de historia de Javascript!
Clases
Code
//Without ES6
const MyElement = React.createClass({
render: function() {
return(
react.createElement('div', {className: 'test'}, 'Hola mundo')
);
}
});
//Whit ES6 and JSX
class MyElement extends React.Component {
render() {
return <h1 className='test'> Hola mundo</h1>;
}
}
React removió el método createClass() para la versión 16, así que en este caso se tendrá que instalar un paquete de NPM llamado create-react-class, que funciona igual.
Stateless Component
=
Pure function
Es6 no es solo Clases
-
Let y const
-
D estructuring -
Template string
Referencias
Preguntas
¡Gracias!
React Week
By LUISA FERNANDA VACA CORREA
React Week
Primera: Título, Segunda: Presentación speaker, Tercera en adelante: Contenido, (...) Antepenúltima: Referencias, Penúltima: Preguntas, Última: Gracias.
- 1,032