BEM naming conventions in CSS and splitting HTML into components at the back end template level existed long before JS frameworks and single page applications.
I'd say the big mind-shifts with React were the virtual DOM replacing things like progressive enhancement, and later with Next and server side components, the commingling of back-end and front-end, which is mostly a complicated solution to the problem already created by moving away from progressive enhancement.