A continuación, tenemos props. Ahora, una de las formas en que podemos pasar datos, tal vez incluso modificar el comportamiento, es props. No importa, en cualquier lugar, como, si estamos usando React, o si estamos usando Solid, si estamos usando Vue, funciona de esa manera en todas partes.
Si echamos un vistazo al archivo de props aquí, veremos que es muy similar al ejemplo básico ejemplo, le damos un nombre, pero estamos pasando algunos props. Entonces, este prop, myMessage, es como el predeterminado, digamos, y lo referenciamos por props.myMessage, que es el argumento de entrada de la función que es el tercer argumento de custom element.
Podemos usar estos datos si no los sobrescribimos en el HTML, así que echemos un vistazo a cómo eso realmente se ve. Solo pasa algunos props sin ningún props, y probablemente veremos otro hola mundo, ¿verdad? No muy emocionante. Sin embargo, si hacemos algo como esto, podemos personalizar el mensaje. Por supuesto, hola desde el otro lado. Y si le pasamos algo más, este cursor siendo un poco inteligente, claro, ¿por qué no? Y estamos obteniendo algo más.
Así que ya tenemos alguna forma de personalizar lo que sucede dentro del componente personalizado, o componente web, elemento personalizado o componente web desde el mundo exterior, en cierto sentido. Ahora, hay una advertencia aquí. Los únicos dos tipos que podemos usar de manera confiable aquí son cadenas, porque los atributos se pasan como cadenas, o más bien HTML admite atributos de cadena, o booleanos, teniendo la presencia o la ausencia de cierta cosa.
Hay formas de pasar otros tipos de datos, no podemos mostrar eso aquí, es un poco más complicado, pero intentaré hacer un ejemplo con eso un poco más tarde. Ahora, a continuación están los slots. Probablemente estés familiarizado con slots bajo un nombre diferente. En el mundo de React, los slots son algo equivalentes a los hijos de React.
Ahora echemos un vistazo a cómo se ven los slots en este mundo muy extraño de compilación de solid-to-web-components. Ahora, podemos usar una etiqueta de slot. Y los slots vienen en dos sabores en general, como slots nombrados y slots predeterminados. Los slots predeterminados son lo que puedes simplemente poner entre las etiquetas de tu elemento personalizado y aparece aquí, en este div en particular. Y si usamos un slot nombrado y le pasamos un atributo de slot en el otro lado, se renderiza dentro de este. Así que veamos cómo se ve eso en acción. Así que si usamos cslots y digamos que queremos hacer Hello World, claro. Hagamos esto. Eliminemos este por ahora, no lo vamos a necesitar. Y veamos realmente cómo se traduce esto del HTML al JSX que tenemos en el otro lado.
Comments