I like the immutability of React, but yes the hooks “DSL” on top of JS can be frustrating. I’ve been using it
For many years now and still run into infinite updates and other strangeness. The future is about compilers doing the work instead of manually specifying useCallback, useMemo, dependencies etc. (that tools already tell you the answer).