React - Global state
Complexed application needs centralized state
Some core state can affect also all parts of the website. It can be a login state or data about the user, navigation etc.
Passing such data to all of the components in the tree would be unpractical solution. The solution could be a React.createContext but global state should also be flexible enough so it can be accessed outside react components.
This is where tools to handle global state of react application comes in. The most popular one is a ReduxLibrary with its toolkitLibrary but you can choose other similar solutions like MobXLibrary or ZustandLibrary
Global state management
I know how to create a global state for the application using Redux or its equivalent.
I know how I can retrive current global state for both functional component (useSelector) and class components (connect HOC)
Redux core
I understand how redux works without using any additional libraries. That way I fully understand how actions, reducers and connectors work
I use this knowledge to fully understand fundamentals that are not necessarily connected to react
Dispatching changes
I know how I can create actions that change the redux state. I know that I need to dispatch them to change the global state.
I understand why every action's reducer should be a pure function
Redux helpers
I know that I can use tools like RTKLibrary to reduce boilerplate code or reselectLibrary to create memoized version of selectors
I know that I can use various tools to bust redux experience
Redux middlewares
I know I can extend redux using middlewares. I know most popular examples of middlewares like thunkLibrary middleware
I can create and apply to store my own middleware
I know how to create a global state for the application using Redux or its equivalent.
I know how I can retrive current global state for both functional component (useSelector) and class components (connect HOC)
I understand how redux works without using any additional libraries. That way I fully understand how actions, reducers and connectors work
I use this knowledge to fully understand fundamentals that are not necessarily connected to react
I know how I can create actions that change the redux state. I know that I need to dispatch them to change the global state.
I understand why every action's reducer should be a pure function
I know I can extend redux using middlewares. I know most popular examples of middlewares like thunkLibrary middleware
I can create and apply to store my own middleware