The React-Redux Portfolio Project – Final Assessment

Posted by igoreskin on May 22, 2018

It is a well-known phenomenon that whatever you expect something to be, when you finally encounter it, more often than not it turns out to be something completely unexpected. In this respect React is definitely not an exception. What I expected it to be was something easily comprehensible, highly intuitive and essentially just a library that abstracts away some complexity or another, but I was in for quite a surprise in two different ways. Firstly, to really feel how React components interact with each other, which may be completely subjective on my part, you must be able kind of hang them all in the air in front of you like a complex see-through hologram and actually see them in three dimensions. You can’t really think of props now, then, in a moment, of the local state of a component and then, a few seconds later, of the state of the entire application in Redux – you have to see the spider web of all those connections at the same time, which almost gives the notion of Web Developer a new meaning. Again, this may be strictly subjective, but to me this is something that either makes you or breaks you as a React developer: if you see it, it’s clear, light and bouncy, if you don’t – it’s a jungle. Easily comprehensible it certainly isn’t.

But that wasn’t really the biggest surprise. Up to the point of starting to learn React I thought that reason we need JavaScript on the front end is the fact that we need something to dynamically manipulate HTML with – in fact this is exactly what jQuery does; not HTML actually but, strictly speaking, the DOM. I didn’t understand it at first, but at certain point I realized that with React and Redux we don’t manipulate HTML at all and we don’t need to, instead we simply create a genuine JavaScript application. When we run it, we can open the dev tools, drill into the HTML of the DOM and check whatever we need, but the primary thing is our JavaScript application, and the DOM is the consequence of that application, not vice versa. This not vice versa was the biggest surprise and the biggest revelation at the same time. It also is a very important thing to grasp, something that must be deeply understood on a conceptual level.