All right my friends we spent quite a bit of time so far learning about react and now in this video.
We're going to start to dive into the world of redux in this section on and tell you a little bit more
about what redux is.
Redux is a state management library.
When I say state I'm talking about the same state that we've used in class based components throughout
the last two projects we've already worked on.
So with redux rather than authoring state or maintaining state inside of our Riak components we're going
to instead extract it to this redux library.
And this starts to kind of make a little bit of sense.
The re-act library itself is all about rendering content on the screen in handling user interaction.
Its primary goal is not really around maintaining updating or otherwise handling data.
So we're going to make redux in charge of handling data inside of our applications.
Now a couple of other notes redux.
In general it makes creating complex applications a little bit easier as you've seen.
We can absolutely create applications using re-act alone.
And that's what we've been doing already throughout this course so far.
So when we start to integrate redux into our applications we are using it to make creating more advanced
projects a little bit easier than if we were using re-act alone.
So absolutely you can still use react by itself.
You do not have to use redox on every project you work on but in many cases it's going to make your
life just a little bit easier.
Now last quick note here the redux library itself is not explicitly designed to work with react.
In other words it was not created to solve some problem.
Explicitly for react.
You can actually see Rydex in use in many other few libraries and in fact you can even see ports of
redux for other languages as well.
Now before we talk about anything else in the world of Redux I want to give you a quick diagram here
and just a little pep talk.
I've taught a lot of people redux over time and I've always found that it is always most challenging
to under understand redux when you first get started.
So this right here is a little difficulty curve.
When you first start learning this you're going to say I guarantee it you will say what is this crazy
terminology.
What is this library doing and why are we using it.
So when you first start out you get this really high level of difficulty with redux and it tends to
be a little bit challenging to understand what's going on.
But after a little bit you eventually start to understand some different terminology and the entire
design flow of the library and when you hit that point the difficulty curve drops it absolutely plummets
and things tend to get a lot easier from that point on.
So Michael in the next couple of videos is going to be the help you get from this starting point.
Over here to this ending difficulty point over here so that you can then come and get that very quick
drop in difficulty and have a good idea of how we use redox to actually build interesting applications.
All right.
So the only reason I show you this diagram right here is because I promise you without a doubt the first
time we go over this stuff you're going to think it is totally crazy.
But as time goes on it will without a doubt get much easier.
So just stick with it have a little bit of patience and at the end of the day I think you'll have a
pretty good time.
All right so let's take a pause right here.
When we come back the next section we're going to start doing a deep dive with redux in understanding
exactly how it works.