hawm
(Hawm)
6 Febrero, 2022 09:50
1
Discourse parece actualizado a Ember Octane pero aún no soporta algunas características nuevas.
Sé que es una carga de trabajo potencialmente enorme migrar los componentes existentes en Discourse, pero nos encantaría usar estas nuevas características en nuestro nuevo plugin, así que ¿sería posible antes de completar toda la migración?
Por ahora, mi componente que extiende @glimmer/component obtendrá un error de Assertion Failed:
Glimmer Components - Octane Upgrade Guide - Ember Guides
Beneficios de los componentes Glimmer
Los componentes Glimmer tienen grandes beneficios:
Estos nuevos componentes te brindan todos los beneficios descritos en Clases Nativas arriba
No extienden de EmberObject en absoluto, lo que significa que no necesitan APIs de EmberObject, como reopenClass, extend. Puedes usar constructor de forma segura para todo el código de configuración.
Los hooks del ciclo de vida son muy simplificados y fáciles de usar
No tienen ese elemento HTML envolvente que interfería con el estilo CSS y el diseño
Los argumentos también están organizados en this.args dentro de los componentes Glimmer, que es un objeto inmutable. Esto significa que:
Está claro cuándo estás accediendo a los argumentos pasados al componente y cuándo estás accediendo a campos y propiedades del propio componente.
Los argumentos siempre se refieren al valor original que se pasó, por lo que no tienes que rastrear código confuso en hooks o definiciones de propiedades calculadas que modifican el valor del argumento.
No hay un confuso enlace de datos bidireccional para los argumentos a través de la clase del componente, los datos solo pueden fluir en una dirección.
4 Me gusta
Falco
(Falco)
6 Febrero, 2022 13:38
2
Actualmente estamos trabajando en esto y Discourse comenzará a usar componentes de Glimmer en los próximos meses.
12 Me gusta