HTML + CSS started in the 90s but it wasn't until the late 00s until strict CSS/HTML separation was regularly practiced.
It takes proper experience and years of work to understand why these splits are useful. And React was literally released 3 years, 2 months ago. We're not even taking into account adoption time or anything.
How quickly we forget the past I guess.
Unless we're talking in javascript years again...
EDIT: I actually forget my perspective at times. I have 10+ years experience, I saw all this for real, I worked with HTML with inline style="" tags + style tags in pages + with old-school ASP of pages with loads of inline code (yes, not ASP.Net, ASP) + PHP + VBScript + IE6 + on-element javascript + all the craziness.
It was a nightmare to find out what did what. Everything turned confusing very quickly. You never knew quite what did what.
But I don't see that that point is relevant here. Here is someone who claims to have gained that experience and learned from it, and now at least gives the impression of aiming to share that knowledge. But that's not what he's doing. He's completely ignoring the fact that there have been many, many responses to the issue he's raising, and maybe he has some good refutation of those responses based on his experience and wisdom, but in that case he does not share it. It just comes off as arrogant and polemic in my opinion.
So, yes, experience takes time and is perhaps sometimes the best possible way to learn. But given that you claim to have that experience and therefore some wisdom that is relevant, then it shouldn't take three years to state that. If that is your goal.
And if it is literally impossible to formulate the experience and wisdom that you do have into something that can be communicated and taught, yes, then of course every future generation is bound to repeat the same mistakes. How could they not?
I've started to get so pissed off every time I read about 'separation of concerns' whenever React is discussed. I had the same misgivings at first, but all it took was a short explanation of how 'concerns' is not necessarily about splitting html/js/css.
I've never read a single convincing argument to counter it except perhaps YAGNI, for some small projects (which even Redux-creator wrote about). It's almost always a throwaway comment about how silly front-end is these days, or an argument based on a lack of understanding of how React works.
Separating html/js/css is one of the first things many of us learned. The fact that a massive number of us are okay with React probably means something.
Mostly I'm just wondering why people bother. If you've got some serious concerns, express them. If they make sense, I'll happily change my ways and discard React. But what do you gain from essentially implying that a huge section of developers are idiots without arguing why.
Don't get me wrong, there's plenty of questionable stuff going on in front-end-land, but React has a level of mindshare so big that disagreeing demands a proper justification other than 'we always did it this way and this new thing looks a bit like the old thing we were told to avoid'.
Even disregarding the discussion of which concerns exactly are supposed to be separated and why, this seems to be perfectly inconsistent to me. It's as if their rule is "there should never be markup in a .js file or <script> tag", but other logic is perfectly fine, as long as the templating language is not JS. Or maybe I'm missing something they're saying.