Nothing "wrong" with them per se, but in terms of system complexity, you're basically doubling it by having application state and logic on both the backend and frontend. When I work on a big SPA, I feel like I'm working on two applications and have to worry about syncing state and logic together.