Lección 07. Tipos de datos en las propiedades.
Dentro de las propiedades (props), podemos pasar diferentes tipos de datos, no solamente strings/textos, veamos:
Strings, numbers y booleans._
Podemos enviar diferentes tipos de datos en las propiedades para ser utilizado en un componente, tal como se envían al siguiente componente.
<Propiedades
cadena="Cadena"
Numero = {19}
boolean = {true}
/>Nota: Para propiedades que NO sean de tipo cadena se utilizan los {}, para el contenido.
Quedando en el componente, de la siguiente manera.
import React from "react";
export default function Propiedades (props) {
return (
<div>
<ul>
<li>
{props.cadena}
</li>
<li>
{props.numero}
</li>
<li>
{props.boolean}
</li>
</ul>
</div>
);
}Nota: El tipo de dato boolean NO se visualiza como un texto, este puede servir para una condición a realizar o un operador ternario.
Si queremos imprimir dato con el boolean, podemos hacer algo asi
<li>
{props.boolean ? "Verdadero" : "Falso"}
</li>De esta manera, si el props.boolean es true, se imprime "Verdadero", si no, se imprime "Falso".
Arrays, objets, REACT elements, functions y REACT components._
También podemos pasar datos mas complejos, tales como arrays.
Para ello, la sintaxis es la siguiente:
<Propiedades
cadena="Cadena"
numero = {19}
boolean = {true}
arreglo = {[1,2,3]}
objeto = {{nombre:"Roberto", correo: "Roberto@gmail.com"}}
elementoReact = {<i>Esto es un elemento de REACT</i>}
funcion = {(num) => num * num}
componenteReact = {<Componente msg = "Soy un componente pasado como prop"/>}
/>Recibiendo, dentro del componente de la siguiente manera:
import React from "react";
export default function Propiedades (props) {
return (
<div>
<ul>
<li>
{props.cadena}
</li>
<li>
{props.numero}
</li>
<li>
{props.boolean ? "Verdadero" : "Falso"}
</li>
<li>
{props.arreglo}
</li>
<li>
{props.arreglo.join(", ")}
</li>
<li>
{props.objeto.nombre}
</li>
<li>
{props.elementoReact}
</li>
<li>
{props.arreglo.map(props.funcion)}
</li>
<li>
{props.componenteReact}
</li>
</ul>
</div>
);
}Nota: Los componentes pueden recibir cualquier tipo de dato, como:
Strings/Cadenas de texto.
Numeros (Enteros y decimales).
Booleans.
Arrays.
Objetos.
Elementos de React (JSX).
Funciones (Expresadas y declaradas).
Otros componentes.