Algunos de ustedes pueden estar utilizando este estilo. Y pueden envolverlo con un proveedor de temas que se encargue del resto. Entonces, algo interesante es que si agrego este color adicional, no tengo realmente una forma de saber si este es el color correcto, si este color está definido. Segundo, ¿se aplicará este color? Tengo que escribir esto, renderizarlo en el navegador, ver si funciona. Probablemente sea simplemente negro, así que hago clic derecho, inspecciono el elemento, y ahí es cuando puedo saber si es el color correcto.
Entonces agregamos un poco más de JavaScript y TypeScript. Y con TypeScript, ahora obtienes la línea ondulada roja, que te indica que esta propiedad, FGHover, en realidad ni siquiera está definida en el tema, por lo que no es lo correcto para usar. Y luego puedes corregirlo. Lo otro, si no lo has notado, es que cometí un error en alguna parte de las diapositivas donde el color de fondo solo apunta al fondo del botón y no al fondo del hover, y con el tema, porque ahora controlas tu tema, controlas tus estilos, puedes escribirlos de manera más inteligente y puede darte errores más inteligentes. Por ejemplo, el color del borde, estoy usando button.bg, que en realidad no es un estilo válido, que no es una variable de color válida en nuestro sistema de componentes, por lo que podemos darte estos errores, como que no es el correcto, tal vez quisiste decir button.borderColor. Lo mismo ocurre con el estilo de hover, dice, HellasPentaCast, un tipo, themeColorBackground no es asignable. Debes usar hover background. Y debido a que tienes TypeScript, tienes un compilador detrás de esto, también obtienes características como autocompletado, que te ayudan a elegir los fondos de hover correctos.
Entonces, las personalizaciones siguen siendo interesantes. Esta es la forma predeterminada o recomendada de personalizar componentes con style components, donde envuelves el componente de botón en un estilo y luego puedes agregar tus estilos adicionales allí. Algo así es agradable, pero también es un poco de plantilla, es mucho más trabajo. No soy un gran fanático de este estilo porque se aleja un poco del botón. Tendrías un botón de página y luego otra cosa usaría el botón de página y te alejarías cada vez más de la fuente original. Entonces, con solo un poco más de JavaScript, este es el logotipo de team UI, pero team UI, system UI, esta clase de bibliotecas hizo popular esta sintaxis que es la propiedad SX o la propiedad CSS. Y con esta propiedad, en lugar de definir un nuevo componente, defines tus anulaciones en este nivel de uso del componente. Es como una etiqueta en línea, pero no lo es, se compila. Entonces, lo que obtienes es algo como esto, donde tus estilos de botón son los estilos predeterminados y luego los fusionas con los estilos de anulaciones SX que se proporcionan. Y, por supuesto, escribes el SX para obtener el mismo autocompletado de tipos incluso en la aplicación con las anulaciones. Una API bastante agradable, bastante genial. Hemos pasado de menos, como muy poco JavaScript, a mucho JavaScript. Pero hemos obtenido muchas características en el camino, como anidamiento, variables de tema, pero también linting, dependencias de importación. Tenemos un autocompletado muy opinado que podemos configurar, lo cual sería más difícil de hacer sin JavaScript. ¿Es ese el éxito? ¿Es eso lo que queríamos? Supongo que sí. Pero, por supuesto, las cosas vienen con compensaciones. Ha sido un gran éxito, tanto que hay alrededor de 4,000 componentes de presentación en GitHub que tienen la propiedad SX solo para anulaciones de estilo. Y eso ha causado problemas de éxito, como problemas de champú.
Comments