jonyeezs / Road To Master Ngrx Store
Licence: other
A curated guided hyperlinks to learn all there is to know of Ngrx/Store and state management in general
Stars: ✭ 15
Projects that are alternatives of or similar to Road To Master Ngrx Store
awesome-backend
🚀 A curated and opinionated list of resources (English & Russian) for Backend developers | Структурированный список ресурсов для изучения Backend разработки
Stars: ✭ 826 (+5406.67%)
Mutual labels: guide, curated-list
Opencore Vanilla Desktop Guide
Host for files for the OpenCore Vanilla Desktop Guide
Stars: ✭ 299 (+1893.33%)
Mutual labels: tutorial, guide
Choo Handbook
🚂✋📖 - Learn the choo framework through a set of exercises
Stars: ✭ 266 (+1673.33%)
Mutual labels: tutorial, guide
Guides
Here you will find Guides mainly for Sonarr/Radarr/Bazarr and everything related to it.
Stars: ✭ 207 (+1280%)
Mutual labels: tutorial, guide
Haskell Study Plan
An opinionated list of resources for learning Haskell
Stars: ✭ 493 (+3186.67%)
Mutual labels: tutorial, guide
Pvview
A small library that helps you to make an amazing parallax view
Stars: ✭ 227 (+1413.33%)
Mutual labels: tutorial, guide
Golang Tutorials
Go Tutorials - Let's get our hands really dirty by writing a lot of Golang code
Stars: ✭ 277 (+1746.67%)
Mutual labels: tutorial, guide
Java Telegram Bot Tutorial
Java Telegram Bot Tutorial. Feel free to submit issue if you found a mistake.
Stars: ✭ 165 (+1000%)
Mutual labels: tutorial, guide
Introneuralnetworks
Introducing neural networks to predict stock prices
Stars: ✭ 486 (+3140%)
Mutual labels: tutorial, guide
Gamingtweaks
Windows 10 and (some) Linux Gaming Tweaks without myths
Stars: ✭ 463 (+2986.67%)
Mutual labels: tutorial, guide
Ethereum Development With Go Book
📖 A little book on Ethereum Development with Go (golang)
Stars: ✭ 754 (+4926.67%)
Mutual labels: tutorial, guide
Tutorial Git
📘 어떻게 깃을 사용하는지 빠르게 알아봅시다. (Quick learn How to use Git.)
Stars: ✭ 188 (+1153.33%)
Mutual labels: tutorial, guide
Java8 Tutorial
Modern Java - A Guide to Java 8
Stars: ✭ 15,276 (+101740%)
Mutual labels: tutorial, guide
Cehv10 Notes
📕 Both personal and public notes for EC-Council's CEHv10 312-50, because its thousands of pages/slides of boredom, and a braindump to many
Stars: ✭ 170 (+1033.33%)
Mutual labels: tutorial, guide
Guide.elm Lang.org
My book introducing you to Elm!
Stars: ✭ 270 (+1700%)
Mutual labels: tutorial, guide
Pharo Wiki
Wiki related to the Pharo programming language and environment.
Stars: ✭ 161 (+973.33%)
Mutual labels: tutorial, guide
An Idiots Guide To Installing Arch On A Lenovo Carbon X1 Gen 6
so you wanted to install arch huh
Stars: ✭ 165 (+1000%)
Mutual labels: tutorial, guide
Road To Master Ngrx/Store
A curated guided hyperlinks to learn all there is to know of Ngrx/Store and state management in general
- Content
All information is currently base on Ngrx/Store v4
The links that are tagged would lead you to the exact snippet of the linked article that is relevant to the topic. Some post may not have anchors but the whole article should help you in your journey as well. Feel free to skip to the relevant topic or read all of it. The time indicators will be for the prescribed texts only.
Here we go!
What does state mean?
- Understanding UI state (5mins)
- What is usually in a state (23sec)
Why the need for a UI state management?
- The motivation (1min)
- A video on the history of how the solution was born - Flux (44:35mins)
- What is the most frequent problem that it (2mins)
- How does it relate to state in Angular SPA? (2mins)
Concepts to understand
- Principles borrowed from Redux (3mins)
- Contains building blocks to implement Flux (26secs)
- Prerequisite: must know reactive programming RxJS (25mins)
Why choose Ngrx/Store as your "flux capacitor"
- Advantages (2mins)
- A video on some thoughts why this suits angular (65secs)
- Well opinionated comparison on redux vs ngrx/store (3mins)
Note: There are alternative solutions to ngrx. See the #Alternatives section
Building blocks of Ngrx/Store
Reducer and its application state
- What is a reducer (4mins)
- Designing reducer (although from Redux, it has the exact same pattern) (15mins)
meta-programming on reducers
- middle-ware on reducers (2mins)
Ways to manage the application's state
- Partition state table by featureModule (32secs)
- Using scan Rxjs operator to automatically maintain state updates (2mins)
- Using ngrx/entity to reduce boilerplate in creating entity-type application state (3mins)
Handling side-effects caused by change of state
- SO answers the need for ngrx/effects (9mins)
- Pro-tips on when and how to use effects (6mins)
- Controlling lifecycle of effect (40secs)
Actions
- Creating actions (10mins)
- Three categories of action (1min)
- Use several actions to convey an interaction (2mins)
Gluing and registering actions to reducers
- Using ActionReducerMap (24secs)
Selectors
Dev Tools
- store devtools browser extension - allows you to monitor events and chart the state. To have it working with ng-cli, see here
Helper Libraries
-
NGRX-Actions - Using decorators and class symbols to reduce the boiler-plate(The author is diverting his resources to a new state management library. see Alternatives) - Angular-ngrx-data - Manages entity in a clever black-box
- Nrwl Extensions - Developer toolkit to assist in Ng development, which comes with Ngrx CLI generators
- Ngrx Schematics - Scaffold the cookie-cutter code
Recommended tutorials
Supporting resources
- Style guide
- Introduction video by ngrx team
- Core concepts inspired by Redux
- Video by Mike Ryan(lead contributor of Ngrx) describing benefits of ngrx
- Comprehensive Introduction to @ngrx/store by @btroncone
- Example of a minimal setup
- Splitting state by features
- A developers learnings on ngrx
- What's feature module
Alternatives
- NGXS - State management pattern + library made with Angular patterns in mind.
- @angular-extensions/model - Manage state via a single (service-like) API (see here for its motivation).
- angular-redux/store - The cross-over of react-redux. If you have bought into the Redux ecosystem, this is compatible with most existing redux midleware/tools that are not react-specific (see here for a comparison discussion).
- Akita - If you're familiar with CQRS, this may be a good fit for you.
- Overmind - State management that tries to keep it simple.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].