Entonces, tu feed de noticias de Twitter será diferente cada vez que lo veas, aunque las props de configuración utilizadas en esos componentes serán las mismas. Una pregunta útil para evaluar si esto es una prop de estado o no es si se podría almacenar en una database, porque típicamente los datos de la aplicación como este pueden almacenarse en una database. Aquí tengo algunos ejemplos más.
Tenemos datos de usuario, tweets o publicaciones, dependiendo de cómo lo llames, y películas. Entonces, si tienes una aplicación que muestra una lista de películas, todas las películas se obtienen de tu database. Eso cambia con el tiempo. Y esos son datos que pasarías como props.
El tercer y último tipo de prop es la prop de plantilla. Pero para eso, primero necesitamos cubrir y entrar en el nivel tres, que es la adaptabilidad. Así que solo para recapitular rápidamente dónde estamos ahora, tenemos estos seis niveles de reutilización. Hemos pasado por el nivel uno, que es la plantilla, y el nivel dos, que es la configuración. Y ahora estamos en el nivel tres, que es la adaptabilidad. El objetivo principal de este nivel es usar slots para hacer que nuestros componentes sean más flexibles. Los haremos más flexibles y adaptables a casos de uso futuros. Y esto nos permite no estar tan limitados por las props, que son muy limitadas en lo que permiten, sino expandir lo que se puede hacer en un componente mediante la inclusión de un slot.
Permíteme darte un ejemplo aquí. Aquí tenemos un botón, y este es un ejemplo de una prop de plantilla, porque prometí que lo cubriríamos, y lo haremos. Este ejemplo de prop de plantilla muestra un botón, y tenemos esta prop de texto. Ahora, esta es una prop de plantilla, y la razón por la que es una prop de plantilla es que solo se utiliza en nuestra plantilla. No la pasamos a ningún componente como prop. No la usamos en una referencia computada o en un observador ni en ninguna lógica similar. Simplemente la incluimos en esa plantilla, y eso la convierte en una prop de plantilla.
Lo interesante de una prop de plantilla es que podemos convertirla directamente en un slot uno a uno. Y esto nos permite hacer algo más que solo pasar texto, una cadena, ahora podemos pasar un icono y un poco de texto a este componente de botón. Podemos pasar lo que queramos. Esto hace que nuestro componente de botón sea mucho más flexible porque ahora tratamos a HTML, y a los componentes como un tipo de data de primera clase, mientras que antes no podíamos hacer eso solo con props. Estábamos limitados con las props, y los slots nos permiten abrir eso. Y lo más importante aquí, por qué lo llamo adaptabilidad, es que cuando creas un componente como este, es posible que no esperes agregar iconos a tus botones. Pero ahora, debido a que tenemos este slot, no tenemos que volver atrás y editar nuestro componente. Simplemente podemos agregar un icono a ese slot, y listo.
Comments