Application State - sarahduv-401-advanced-javascript/seattle-javascript-401d32 GitHub Wiki

What is Redux?

  • Redux is a predictable state container for JavaScript apps.
  • In lay-man’s terms, that’s saying, “it helps you tame the beast”. Metaphorically.
  • Redux takes away some of the hassles faced with state management in large applications. It provides you with a great developer experience, and makes sure that the testability of your app isn’t sacrificed for any of those.

Whe use Redux?

  • In larger apps with a lot of moving pieces, state management becomes a huge concern. Redux ticks that off quite well without performance concerns or trading off testability.
  • One other reason a lot of developers love Redux is the developer experience that comes with it.

The Redux principles

  • #1 One application state object managed by one store.
  • #2 The only way to change a state is to emit an action, an object describing what happened.
  • #3 To specify how the state tree is transformed by actions, you write pure reducers.

Source: https://www.freecodecamp.org/news/understanding-redux-the-worlds-easiest-guide-to-beginning-redux-c695f45546f6/