Much love to the Solid team and congrats on launching Solid 2!
Cursor has largely completed this migration from Solid to React. We also have since converted all our scss and Tailwind to @stylexjs, in both Cursor and in @bot. The new agents window is 99% React, with a few stragglers left that we have yet to migrate. The big motivation for this migration was for perf and maintainability reasons. We have seen that in practice, it is actually quite easy to create perf footguns for yourself in signal based approaches when reactivity causes a large amount of accidental fan out in large and complex apps.
It probably was a skill issue. But in the age of agents, choosing what pitfalls you're okay with is an important decision. I think it's fair to say that every UI framework has its pitfalls and that no perfect one exists yet. For us, React was the most known quantity, and we found that solving its problems is actually quite straightforward and boring: exactly what you want when you're trying to ship! Something interesting I also observed is the uncanny valley effect of non-React frameworks looking like React. I think it confuses agents, because in my experience, agents were quite bad at writing good Solid code. Everything ended up being accidentally tracked which caused so many perf problems.
React Compiler solves most of your perf problems with over-rendering. The remaining cases just take some manual memoization or refactoring/composition, which an agent can easily do.
The nice thing about useEffect is that it's like an unsafe {} block in Rust: it shows me at a glance where the problems are. @bot (which is 100% React) is built on Dune, our in-house, agent friendly React framework for desktop apps, which actually bans useEffect outright and only exposes it indirectly through framework-provided hooks. Highly recommend setting something like that up for yourself!