https://grokonez.com/frontend/redux/introduction-to-redux-a-simple-practical-redux-example
Introduction to Redux – a simple practical Redux example
In this tutorial, we're gonna introduce main concept of Redux: what it is, how to work with Redux Store, Action, Reducers. Then we will practice to understand all of them in a simple practical Redux example.
Related Post: How to connect React with Redux – react-redux example
Overview
Redux
Redux is a state container that helps JavaScript applications to manage state.
=> Whenever we wanna read the state, look into only one single place - Redux Store.
=> Managing the state could be simplified by dealing with simple objects and pure functions.
Redux Store
Store holds the current state so that we can see it as a single source of truth for our data.
With Redux Store, we can:
- access to state via
store.getState()
- update state via
store.dispatch(action)
- register listeners via
store.subscribe(listener)
- unregister listeners via the function returned by
store.subscribe(listener)
:
*Note: We only have a single store in a Redux application. => When we wanna split data handling logic, we combine Reducers instead of using many Stores.const unsubscribe = store.subscribe(listener); unsubscribe();
Redux Reducer
Reducer is a pure function that generates a new state based on an Action it receives. These Actions only describe what happened, but don't describe how state changes.
*Note: Reducer must be a pure function: => From given arguments, just calculate the next state and return it. => No side effects. No API or non-pure function calls. No mutations.const countReducer = (state = initialState, action) => { // return state; }
Redux Action
Action is payload of information that is sent to Store usingstore.dispatch(action)
. Action must have atype
property that should typically be defined as string constants. It indicates the type of action being performed:
https://grokonez.com/frontend/redux/introduction-to-redux-a-simple-practical-redux-example
Introduction to Redux – a simple practical Redux example
Top comments (0)