React Native - Mobile¶
React Native es un framework desarrollado por Facebook que permite construir
aplicaciones móviles usando JavaScript. React Native permite que JavaScript
se ejecute e interactúe con los sistemas iOS y Android de la misma manera que
lo hace el código nativo.
La gran diferencia entre React Native y las WebApps, HTML5 App o aplicaciones
hibridas es su rendimiento. Todas están escritas en JavaScript, al igual que
React Native, pero no renderizan usando componentes nativos.
Crear aplicaciones nativas, nunca fue tan facil.
JSX¶
Una sintaxis para incrustar XML dentro de JavaScript. JSX te permite escribir tu
lenguaje de marcado dentro del código. Se ve como HTML en la web, excepto que en
lugar de cosas de la web como <div> o <span>, usas los componentes React.
XML sirve para crear lenguaje propio en <tags> y con esto, JSX puede producir
componentes de React.
Ejemplo:
<View>
<Text>Hello world!</Text>
</View>
Components¶
Los componentes son los bloques de construcción de cualquier interfaz de usuario.
React Native administra que de componentes, de JavaScript, a la Interfaz de
Usuario nativa.
La UI completa de la aplicacion se especifica mediante la declaracion de los
componentes y en que orden se van a representar.
Los componentes están anidados dentro de otros componentes, formando una
estructura en forma de “arbol”.
El componente de nivel superior se conoce como el componente raíz. Los componentes anidados se denominan componentes hijos.
Props¶
Muchos componenetes pueden ser customizados cuando son creados con diferentes
parametros. Los props son estos parametros de creacion. Y estan sujetos
al tiempo de vida del componente.
Se le pueden pasar las propiedades al
contructor.Un elemento padre puede alterar los accesorios de un elemento hijo en cualquier
momento.
Ejemplo:
export default class Bananas extends Component {
render() {
let pic = {
uri: 'https://banana.com/galeria/Banana.jpg'
};
return (
<Image source={pic} style={{width: 193, height: 110}}/>
);
}
}
Aca el componente de React Native,
<Image> tiene una prop llamada
source={} que controla que imagen se va a mostrar en ese componente.Se pueden crear
props para componentes propios. Permitiendonos usar los
componentes ya creados en diferentes lugares de la app, con pocas diferencias
en cada lugar.States¶
Los
states controlan, al igual que los props, los componentes. Los
states, son para datos que van a cambiar. Cuando se modifica, se
re-renderiza solo.En general se inicia en el constructor y se llama a
setState para
cambiarlo.constructor(props) {
super(props);
this.state = { isShowingText: true };
setState()¶
Los componentes pueden actualizar su estado pasando un objeto al método
this.setState (). Cualquier clave en el objeto pasado al método se
fusionará (y anulará cualquier clave existente en) this.state.