hawm
(Hawm)
Fevereiro 6, 2022, 9:50am
1
O Discourse parece já ter sido atualizado para o Ember Octane, mas ainda não suporta alguns novos recursos.
Sei que migrar os componentes existentes no Discourse pode ser um trabalho enorme, mas adoraríamos usar esses novos recursos em nosso novo plugin. Seria possível antes de completar toda a migração?
Por enquanto, meu componente que estende o @glimmer/component está apresentando um erro de “Assertion Failed”:
Glimmer Components - Octane Upgrade Guide - Ember Guides
Benefícios dos Componentes Glimmer
Os componentes Glimmer têm alguns benefícios enormes:
Esses novos componentes oferecem todos os benefícios descritos em Classes Nativas acima
Eles não estendem de EmberObject de forma alguma, o que significa que não precisam de APIs do EmberObject, como reopenClass, extend. Você pode usar constructor com segurança para todo o código de configuração.
Os ganchos de ciclo de vida são muito simplificados e fáceis de usar
Eles não têm aquele elemento HTML de encapsulamento que atrapalhava a estilização CSS e o layout
Os argumentos também são organizados em namespace em this.args dentro dos componentes Glimmer, que é um objeto imutável. Isso significa que:
Fica claro quando você está acessando argumentos passados para o componente e quando está acessando campos e propriedades do próprio componente.
Os argumentos sempre se referem ao valor original que foi passado, então você não precisa rastrear código confuso em hooks ou definições de propriedades computadas que modificam o valor do argumento.
Não há ligação de dados bidirecional confusa para argumentos através da classe do componente, os dados só podem fluir em uma direção.
4 curtidas
Falco
(Falco)
Fevereiro 6, 2022, 1:38pm
2
Estamos trabalhando nisso no momento e o Discourse começará a usar componentes Glimmer nos próximos meses.
12 curtidas