As a relative beginner to using React and coming from a heavy PHP background, and using JS mainly as jQuery in WordPress… I thought I would take a moment to express my initial thoughts on React and what I like about it.
When I study React, I find it very intuitive. The concepts are simple, the ideas build on top of each other nicely so once you understand one part the next makes sense easily. Examples given are usually quite small and easy to comprehend. Learning React is more fun than learning most other technical concepts in my opinion. For instance, if I compare learning React components to learning just one concept in CSS which I covered recently, CSS grids, I would say I faced at least 5 times more frustration and challenge in learning CSS grids. Simplicity is great. Not that I’m criticizing CSS grids which are wonderful in their own right, but it’s a pretty big concept to unpack and a lot of code to cover. React at least at the beginner level, is quite simple and fast to pick up.
Next thing I like about React is that it seems to address one of the things I’ve disliked about HTML. It breaks a UX down into small pieces. It encourages you to do this, and supports managing these small pieces as React components. The closest experience I have had to this would be using PHP to render small pieces of HTML, but that certainly doesn’t translate as well into management… even though it’s similar in concept, using a programming language to manage markup… but with PHP it doesn’t really support tags because you have to open and close tags yourself. In JSX (the markup management language that React uses) we can define tags, keep the nesting small, and nest another small component inside. Although the end result might be similar with significant nesting, the build up process feels simple and manageable.