Always distrust developers who tell you what you should or shouldn't do.
It is your code, if it works for you, it works.
You are using W3C standard technologies so it will work for as long Browsers run JavaScript.
Yes, Web Components V0 (Google threw something against the wall) got a bad reputation;
but we are on V1 now, since 2018, and Google, Apple, Mozilla, Microsoft are now more closely working together.
(WTF.. Where is Facebook?)
Personally, I prefer:
<blog-posts-listing>
<blog-post title="Do HTML5 custom elements have any drawbacks compared to classes?">
I don't like DIV soups
</blog-post>
<blog-post title="What is the future for React?" tags="React">
I don't like **JSX** soup either
</blog-post>
</blog-posts-listing>
Because <blog-post>
would be the work-horse that creates content in shadowDOM from this lightDOM.
Good use of attributes allow for great CSS
blog-post:not([title*="React"]){
background-color:lightgreen;
}
blog-post[title*="React"]{
background-color:lightcoral;
}
You can even add search with minimal JS, create styles dynamically
Adding functionality like a MarkDown parser is a breeze then
Do not create HTML tags just because you can create HTML tags...
But remember what I said about Developer advice.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…