Y aquí es donde un componente creativo se convierte en un componente responsable, porque el efecto visual recibe toda la atención, pero el código del ciclo de vida en sí es lo que lo hace seguro de usar en la aplicación de alguien. Ahora llegamos a la API pública final. {{^}}Y aquí es donde el componente se convierte en un producto. Y sí, esto es un montón de props, lo sé. Pero para este componente, eso es intencional, créeme. Los props están realmente agrupados en torno a controles creativos reales, porque Color y Color2 controlan la paleta, Speed, Fade In, Fade Out, y Scale Rate controlan el tiempo, Ring Count, Base Radius, Radius Step, Line Thickness, Ring Gap, y Attenuation controlan el sistema de anillos. Y Opacity, Blur, y Noise controlan la textura y presencia final. Rotation cambia la composición. Y también tenemos props de interacción como Follow Mouse, Mouse Influence, Hover Scale, Parallax, y también un control de Click Burst para la interacción.
Así que aunque la API es grande, definitivamente no es aleatoria. Mapea los tipos de decisiones que alguien realmente necesita tomar al colocar este componente en una interfaz real. ¿Lo quiero sutil? ¿Quiero más anillos? ¿Quiero movimiento del ratón? ¿Quiero que se sienta más como un visual principal o más como un acento de fondo? Y ese es todo el punto de la API. Y ya que estamos hablando de props, hay una idea común en el diseño de componentes de que demasiados props son malos. Y muchas veces, eso es definitivamente cierto. Un componente con demasiados props puede volverse difícil de entender. Puede convertirse en un panel de control en lugar de una API limpia. Puede sentirse simplemente desenfocado.
Y para un bot normal, 40 props probablemente significa que algo ha salido mal. Pero los componentes creativos son un poco diferentes. Cuando el valor del componente es la expresión, la personalización no es solo una característica agradable. Es realmente parte del producto. Magic Rings necesita funcionar en un visual principal, un coche, un pie de página. Y estos contextos tienen diferentes necesidades, diferentes tamaños, diferentes colores. Así que en este caso, más props pueden valer la pena. Y la pregunta no es simplemente, ¿cómo exponemos menos props? La mejor pregunta es, ¿qué props crean un control significativo? Porque si un prop ayuda a alguien a adaptar el componente a un caso de uso real, ese prop podría valer la pena tener. Y la forma en que pienso sobre esto es que es importante conocer la diferencia entre control significativo y control ruidoso. Los props significativos se mapean a la forma en que alguien piensa sobre el componente. Por ejemplo, los de la izquierda aquí son controles significativos. Los props ruidosos son diferentes. Exponen detalles de implementación sin dar mucho valor creativo.
Comments