Vorrei sollecitare questo punto perché sto cercando di capire il modo migliore per gestire i miei componenti. Al momento vedo due opzioni che hanno entrambe notevoli svantaggi: potrei creare un registro per ogni componente del tema che renderizza blocchi, ma ciò vanifica in parte lo scopo modulare. Oppure aggiungerne uno globalmente tramite un plugin, ma poi i miei componenti diventano dipendenti dall’installazione di quel plugin.
Quindi sembra che avere un’API di registrazione globale dei blocchi nel core aiuterebbe molto. Qualcosa che i componenti del tema potrebbero usare per invocare il rendering dei blocchi e anche per registrare nuovi blocchi.
Mi piace lavorare con l’approccio a blocchi perché mi permette di separare le preoccupazioni tra il layout dell’app e il contenuto del componente. Il componente blocco gestisce semplicemente il rendering del suo contenuto, quindi viene renderizzato da un altro componente nell’app. Posso eliminare tutta la logica di route e outlet dal componente blocco e posso facilmente riutilizzare lo stesso blocco più volte in un layout e persino in tutta l’app.
Trovo che renda tutto più snello e riutilizzabile ed è un approccio elegante nel complesso. Avere un solido supporto per questo pattern in Discourse sarebbe fantastico.