Thanks for sharing your thoughts! I’m going use this as a spring board to ‘go off on one’ because I have Hot Takes™.
My opinion on create-react-app is that it was a great starting point to get over the complexity of setting everything up in a new project, but I actually think it’s harmful to use in new projects.
The CRA team are great, and I know they work to resolve issues related to the need for ejecting, but IME there are still too many things you need to eject for, but doing so leaves you with a lot more code and dependancies to have to manage yourself and of course there is no way back once you do.
This state of affairs can cause projects to get stuck in limbo and end up with unnecessary complexity in project as ‘workarounds’ (or just outstanding bugs) because people get reluctant about taking the leap and ejecting to solve the issue, because adding a bunch of code and complexity to the repository always seems like a terrible idea.
As far as Redux goes, I continue to find the amount of boiler plate in Redux — and the amout of cheerleading for it — painful and depressing.
That said, I’d be really interested and would find it helpful to see how you set up your Redux code —I can absolutely see the value of grouping the reducer/action code but haven’t come across anyone doing it.
I’m completely with you on CSS styling. It feels like there isn’t one stand out method for this yet. I feel like there are a few of decent approaches emerging, but the toolchain keeps evolving rapidly (e.g. changes to SAAS spec and in Webpack 3.x) which seems to keep complicating things.