I've been writing react for years, and going back to templates, I wish I could never have to write a react rendering function again.
Components are overrated.
Their best feature is that they help build a fantastic ecosystem, which is the biggest react strength.
But for your own website?
Their cons and pros balance each other out, and all that is left is the terrible API that react exposes.
Eventually, you gain locally some reusability (provided you actually need it in your project, because there are not that many components that need reusability, and even less that couldn't be a template tag in django), but every single dev writes react code differently.
So you get a heterogeneous mess anyway.
My last SPA project (in vue), we had one component that was worth making reusable.
One. For a month and a half of work.
Turns out vanilla functions are quite reusable themselves already.
Components are overrated.
Their best feature is that they help build a fantastic ecosystem, which is the biggest react strength.
But for your own website?
Their cons and pros balance each other out, and all that is left is the terrible API that react exposes.
Eventually, you gain locally some reusability (provided you actually need it in your project, because there are not that many components that need reusability, and even less that couldn't be a template tag in django), but every single dev writes react code differently.
So you get a heterogeneous mess anyway.
My last SPA project (in vue), we had one component that was worth making reusable.
One. For a month and a half of work.
Turns out vanilla functions are quite reusable themselves already.