Everyday a new and a fancy buzzword pops out of nowhere in this web development world and we want to learn it, because we are a bunch of curious people(or should I say “because we want to sound cool”). Yeah, guys, you feel me. Javascript So, like every other Javascript developer, I started with VanillaJs and during this process I got to know about jQuery, being a “curious” fellow I started with it and till I completed it, I heard about AngularJs(Sounds , right?) So I learned it and then came Angular2, which got nothing to do with Angular1(like what the hell were these guys thinking). cool And then someone told me about React(that sounded much more cooler than Angular) so I decided to learn it. And then in this process of learning React, I heard (what a dope word, right? Let’s learn it too). REDUX What I want to say is, we should be aware of what features does the framework or library provides us with, which the former one didn’t, and then decide whether we want to use it or not rather than start learning it because it’s a new fancy buzzword. So let’s see, why we need Redux. Why we need redux? Before answering this question we need to answer another question: Where does react fail? What were the shortcomings of react that made developers use Redux? React failed at . Data transfer between the components in react is pretty messy, as it was hard to keep the track from where(which component)the data is coming from. It becomes really complicated if one is working with large and complicated apps. state transfer between the components Another problem with react was, unnecessary data being transferred to the components. See, the above diagram(a level is equivalent to a single parent-child relationship), a from has to be passed down to the . Let’s first see how react does this and later we will see how Redux would approach it. state first level component fourth level component As we know, that in react, there is . React would pass down the data from first level component to second level component and then to the third level component and then finally to the fourth level component. This is not a good approach as the data or state is passed to the 2nd and 3rd level component(which doesn’t require that particular state).So this is where react fails. one way data flow Okay, let’s answer the previous question:- Why we need Redux? What redux does is,it solves this ‘state transfer problem’. In Redux, we store all the state in a single place called So when we look at the above problem of passing the state from level one component to level four component, it becomes easy, as all the state is stored in and the level four component can directly access the required state from store(see above diagram). No worries of, from where the data is coming as is the single source of truth. Clear code, easy access of state, easy state transfer are the major benefits of Redux. store. store store Though, I wouldn’t recommend using Redux, until becomes too difficult to manage in your application. state As of now, we know why we need Redux, In my upcoming articles, I will go through the core concepts of redux, some redux code and how you can use them in your own projects and become a cool kid.