My struggle to learn React
This is a fine article.<p>But I just want to say, as an alternate data point, my experience has been <i>exactly the opposite</i>. I <i>love</i> React. React is the first front-end technology I have ever managed to get to stick.<p>* ES6 is just a detail, I know. But for me, ES6 transforms Javascript from an idiosyncratic scripting language where I constantly have to look up the ordinary way to handle basic programming tasks into something resembling a modern high-level language. To me, ES6 turns Javascript into Ruby. I don&#x27;t love programming in Ruby, but I can do it quickly and without the language getting in my way.<p>* The basic idea behind React, that your UI rendering code is always working with a snapshot of the current state, and 95% of your job is just to take that state and re-render it wholesale, eliminates a huge amount of the cognitive load I experience trying to do front-end stuff. I allows me to stop thinking in state machines, and just write straight-line code. If you&#x27;ve been primarily a backend person and have always sort of hated doing front-end stuff, check out React and see whether it&#x27;s just the programming model that&#x27;s been bugging you.<p>* Unlike the author, I&#x27;ve always been more of a programming person than an HTML&#x2F;CSS person; I would kind of rather eat a bug than fiddle with CSS. One thing that makes React so nice for me is that you can just buy an HTML template and gradually turn it into JSX to &quot;animate&quot; it into a UI. Another thing is that it so nicely decomposes into components that there are a bunch of high-quality UI component libraries to draw from.<p>I have a lot of the same problems with React that everyone else does:<p>* &quot;This&quot; and the JS class model still feel like own-goals and I&#x27;m regularly tripping over them. But I&#x27;m never stumped by them; the bugs are always pretty obvious and easily fixed.<p>* Perf has been an issue, particularly memory consumption. But to me, this just suggests that I&#x27;m actually productive in React, that I&#x27;m getting to the point where I&#x27;m comfortable enough belting out code that I&#x27;m generating perf problems to go fix. (This has come up on relatively complicated UI projects, like the debugger interface we did at Starfighter, which was a monstrosity).<p>* The tooling was a disaster before create-react-app. But now there&#x27;s create-react-app, so the tooling isn&#x27;t a problem.<p>* I still have no idea what the right way to test things is.<p>I&#x27;m not rebutting the article at all! Different people, different issues. I just thought, if that perspective was valuable, mine might be too.