<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>state managment | Kate Gable</title>
	<atom:link href="https://www.katesky.com/tag/state-managment/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.katesky.com</link>
	<description>sharing knowledge, encouraging to learn, promoting passion for coding, supporting mothers who code</description>
	<lastBuildDate>Sun, 02 Feb 2020 07:21:25 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
<site xmlns="com-wordpress:feed-additions:1">193364748</site>	<item>
		<title>Angular: NGRX clean architecture with multiple stores (Part 1.5)</title>
		<link>https://www.katesky.com/2020/02/03/angular-ngrx-clean-architecture-with-multiple-stores-part-1-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=angular-ngrx-clean-architecture-with-multiple-stores-part-1-5</link>
		
		<dc:creator><![CDATA[Katerina Gable]]></dc:creator>
		<pubDate>Mon, 03 Feb 2020 11:54:00 +0000</pubDate>
				<category><![CDATA[angular]]></category>
		<category><![CDATA[kate sky]]></category>
		<category><![CDATA[ngrx]]></category>
		<category><![CDATA[state managment]]></category>
		<guid isPermaLink="false">https://www.katesky.com/?p=62</guid>

					<description><![CDATA[<p>Angular: NGRX clean architecture with multiple stores by Kate Sky Before we go into Part 2 (testing of the multi-feature/store), I want to demonstrate the implementation of lazy loading of modules with multiple stores. So the objective of this article will be <br /><a href="https://www.katesky.com/2020/02/03/angular-ngrx-clean-architecture-with-multiple-stores-part-1-5/" class="more-link">Read More</a></p>
The post <a href="https://www.katesky.com/2020/02/03/angular-ngrx-clean-architecture-with-multiple-stores-part-1-5/">Angular: NGRX clean architecture with multiple stores (Part 1.5)</a> first appeared on <a href="https://www.katesky.com">Kate Gable</a>.]]></description>
										<content:encoded><![CDATA[<body>
<h3 class="has-secondary-color has-text-color wp-block-heading"> Angular: NGRX clean architecture with multiple stores</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>by Kate Sky</p></blockquote>



<p>Before we go into Part 2 (testing of the multi-feature/store), I want to demonstrate the implementation of lazy loading of modules with multiple stores. So the objective of this article will be to show you how to add feature stores to the Feature module, which are loaded lazily when a route is activated.</p>



<p>Finally, I am going to provide links to the repository to GitHub.</p>



<p>Following is the list of topics that we are going to discuss in this article:</p>



<ol class="wp-block-list"><li>Application objective.</li><li>Application architecture</li><li>Lazy loading of the feature modules</li><li>Lazy loading demo</li><li>Conclusion</li><li>Links</li><li>Part 2 ( to be continued)</li></ol>



<h4 class="wp-block-heading">1. The objective of the application     </h4>



<p>In this example, I want to demonstrate an app that will track home buying data. It will have a dashboard with links to a favorite list and a list of visited homes. Users will also be able to click on a link that will take her to a list of all prospective homes. From there, she can go into detail for each home.  </p>



<h4 class="wp-block-heading">2. Application architecture and folder structure</h4>



<p>In this example, we have separated this application in high-level feature modules. By doing so, it allows us to lazy load features along with store modules based on the current route.  </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" decoding="async" width="640" height="362" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/1.png?resize=640%2C362&#038;ssl=1" alt="" class="wp-image-65" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/1.png?resize=1024%2C579&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/1.png?resize=300%2C170&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/1.png?resize=768%2C434&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/1.png?resize=1536%2C869&amp;ssl=1 1536w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/1.png?w=1561&amp;ssl=1 1561w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/1.png?w=1280&amp;ssl=1 1280w" sizes="auto, (max-width: 640px) 100vw, 640px" /><figcaption> AppModule only has RootStoreModule imported. <br><a href="https://github.com/katesky/ngrx-multy-store-part-1.5/blob/master/src/app/app.module.ts">app.module.ts</a></figcaption></figure></div>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="348" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?resize=640%2C348&#038;ssl=1" alt="" class="wp-image-66" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?resize=1024%2C557&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?resize=300%2C163&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?resize=768%2C417&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?resize=1536%2C835&amp;ssl=1 1536w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?resize=1568%2C852&amp;ssl=1 1568w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?w=1630&amp;ssl=1 1630w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/2.png?w=1280&amp;ssl=1 1280w" sizes="auto, (max-width: 640px) 100vw, 640px" /><figcaption> And Store1Module is registered in the Feature module <br><a href="https://github.com/katesky/ngrx-multy-store-part-1.5/blob/master/src/app/feature1/home-list.module.ts">home-list.module.ts</a></figcaption></figure>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" decoding="async" width="601" height="618" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/3.png?resize=601%2C618&#038;ssl=1" alt="" class="wp-image-67" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/3.png?w=601&amp;ssl=1 601w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/3.png?resize=292%2C300&amp;ssl=1 292w" sizes="auto, (max-width: 601px) 100vw, 601px" /><figcaption>Notice the folder structure of the application. We moved Store1Module in the same folder as a feature module with a routing module for that feature</figcaption></figure></div>



<h4 class="wp-block-heading">3. Lazy loading of the feature modules</h4>



<p> “By default, NgModules are eagerly loaded, which means that as soon as the app loads, so do all the NgModules, whether or not they are immediately necessary. For large apps with lots of routes, consider lazy loading—a design pattern that loads NgModules as needed. Lazy loading helps keep initial bundle sizes smaller, which in turn helps decrease load times. ” – From <a href="https://angular.io/guide/lazy-loading-ngmodules">Angule.io</a></p>



<p>We now can lazy load our feature module by registering it in the routing module:</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="297" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?resize=640%2C297&#038;ssl=1" alt="" class="wp-image-68" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?resize=1024%2C475&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?resize=300%2C139&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?resize=768%2C356&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?resize=1536%2C712&amp;ssl=1 1536w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?resize=1568%2C727&amp;ssl=1 1568w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?w=1684&amp;ssl=1 1684w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/4.png?w=1280&amp;ssl=1 1280w" sizes="auto, (max-width: 640px) 100vw, 640px" /><figcaption><a href="https://github.com/katesky/ngrx-multy-store-part-1.5/blob/master/src/app/app-routing.module.ts">app-routing.module.ts</a></figcaption></figure>



<h4 class="wp-block-heading">4. Lazy loading demo</h4>



<p>When we have a clean separation of the features into modules, it allows us to register routes to be lazy-loaded.<br>
Let’s see it in action by checking the console:</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img data-recalc-dims="1" decoding="async" width="640" height="295" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?resize=640%2C295&#038;ssl=1" alt="" class="wp-image-69" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?resize=1024%2C472&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?resize=300%2C138&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?resize=768%2C354&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?resize=1536%2C709&amp;ssl=1 1536w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?resize=1568%2C723&amp;ssl=1 1568w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?w=1797&amp;ssl=1 1797w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/5.png?w=1280&amp;ssl=1 1280w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure></div>



<p>When app navigates to <code>Homes</code> we see that our feature1 module is fetched and an additional file appears in the console:</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="323" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?resize=640%2C323&#038;ssl=1" alt="" class="wp-image-70" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?resize=1024%2C517&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?resize=300%2C151&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?resize=768%2C388&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?resize=1536%2C775&amp;ssl=1 1536w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?resize=1568%2C791&amp;ssl=1 1568w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?w=1722&amp;ssl=1 1722w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/02/6.png?w=1280&amp;ssl=1 1280w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<h4 class="wp-block-heading">5. Conclusion</h4>



<p>In this article, I tried to deliver a technical guide on how to organize your application NGRX stores and provide you with examples of how they can be registered alongside with routing modules.</p>



<p>We started with an application description. I went over the architecture and folder structure. We then looked at registering a lazy loaded module. Finally, we looked at the demo.</p>



<h4 class="wp-block-heading">6. Links</h4>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" target="_blank" href="https://github.com/katesky/ngrx-multy-store-part-1.5">https://github.com/katesky/ngrx-multy-store-part-1.5</a></li><li><a rel="noreferrer noopener" target="_blank" href="https://stackblitz.com/edit/ngrx-multy-store-part-15">https://stackblitz.com/edit/ngrx-multy-store-part-15</a></li></ul>



<h4 class="wp-block-heading">7. Part 2 (To be continued…)</h4>



<p>Where I will show how to test a component that uses a feature store. Some mocking will take place.</p>



<p>I hope this article helps you out with adding NGRX to your application.</p>



<hr class="wp-block-separator">



<p></p>
</body>The post <a href="https://www.katesky.com/2020/02/03/angular-ngrx-clean-architecture-with-multiple-stores-part-1-5/">Angular: NGRX clean architecture with multiple stores (Part 1.5)</a> first appeared on <a href="https://www.katesky.com">Kate Gable</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">62</post-id>	</item>
		<item>
		<title>Angular: NGRX clean architecture with multiple stores (Part 1)</title>
		<link>https://www.katesky.com/2020/01/17/angular-ngrx-multiple-store-architecture-part-1/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=angular-ngrx-multiple-store-architecture-part-1</link>
		
		<dc:creator><![CDATA[Katerina Gable]]></dc:creator>
		<pubDate>Fri, 17 Jan 2020 22:57:23 +0000</pubDate>
				<category><![CDATA[angular]]></category>
		<category><![CDATA[kate sky]]></category>
		<category><![CDATA[ngrx]]></category>
		<category><![CDATA[state managment]]></category>
		<guid isPermaLink="false">https://www.katesky.com/?p=53</guid>

					<description><![CDATA[<p>Angular: NGRX clean architecture with multiple stores by Kate Sky The objective of this article is to provide a technical implementation of the NGRX for an application with a complexity that could benefit from adding feature store(s) in addition to the root <br /><a href="https://www.katesky.com/2020/01/17/angular-ngrx-multiple-store-architecture-part-1/" class="more-link">Read More</a></p>
The post <a href="https://www.katesky.com/2020/01/17/angular-ngrx-multiple-store-architecture-part-1/">Angular: NGRX clean architecture with multiple stores (Part 1)</a> first appeared on <a href="https://www.katesky.com">Kate Gable</a>.]]></description>
										<content:encoded><![CDATA[<body>
<h3 class="has-secondary-color has-text-color wp-block-heading">Angular: NGRX clean architecture with multiple stores</h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>by Kate Sky</p></blockquote>



<p>The objective of this article is to provide a technical implementation of the <a href="https://github.com/ngrx/platform">NGRX</a> for an application with a complexity that could benefit from adding feature store(s) in addition to the root store.</p>



<p>Finally, I am going to provide links to my GitHub repository with the example code. </p>



<p>In part 2, I will show how to unit test components that use a feature store and later we will go into the unit testing of the NGRX store itself.</p>



<p>This is the list of topics that we are going to discuss in
this article:</p>



<ol class="wp-block-list"><li>A high-level use case for state management.</li><li>Getting started with a root store</li><li>Adding feature store to the application</li><li>Organizing your store folders</li><li>Adding stores to your components</li><li>Conclusion</li><li>Links</li><li>Part 2 ( to be continued)</li></ol>



<h4 class="wp-block-heading">1. High-level use case for state management.</h4>



<p>When a decision has been made to manage the state of your complex application by adding NGRX, it is important to understand that you will not be able to convert the whole application to use the store right from the start.</p>



<p>It will be a gradual process that I will try to provide a technical guide for. In the example, you will see a RootStoreModule and a Store1Module.</p>



<p>The root store is where you will start. This store will be the highest level of user/system actions that can be performed in the application. For example, a dashboard app will have links to other areas, so the root store will load the available links and user access and privileges needed for the app to run. Root store will manage the state of the highest level of the application or lowest since it is a root (pun attended).</p>



<p>The feature store is an abstraction for parts of the application that are feature-based. For example, the user will click on a feature of the application from a dashboard, that allows him to manage orders, sales, employees, etc.  This is where the feature will load or change data using the feature store. It will manage the state of this feature along. </p>



<p>First, you must install NGRX by following the installation steps from <a href="https://ngrx.io/guide/store/install">https://ngrx.io/guide/store/install</a></p>



<h4 class="wp-block-heading">2. Getting started with a root store</h4>



<p>Second, you will create a folder where you will hold all files related to the root store. </p>



<p>Inside the folder, you will have files needed for the store: actions, effects, reducers and an index file for exports. One of the necessary imports is CommonModule and reducers and effects. </p>



<p>If you use the CLI’s “ng add @ngrx/store” the structure is flatter. I like to organize it in a more 2D way.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="371" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/1.png?resize=640%2C371&#038;ssl=1" alt="" class="wp-image-54" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/1.png?w=957&amp;ssl=1 957w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/1.png?resize=300%2C174&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/1.png?resize=768%2C445&amp;ssl=1 768w" sizes="auto, (max-width: 640px) 100vw, 640px" /><figcaption>root-store.module.ts</figcaption></figure>



<p>Second, you will add the RootStoreModule to the app.module( CLI will add it for you!)</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="413" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/2.png?resize=640%2C413&#038;ssl=1" alt="" class="wp-image-55" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/2.png?resize=1024%2C660&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/2.png?resize=300%2C193&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/2.png?resize=768%2C495&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/2.png?w=1074&amp;ssl=1 1074w" sizes="auto, (max-width: 640px) 100vw, 640px" /><figcaption>app.module.ts</figcaption></figure>



<h4 class="wp-block-heading">3. Adding Feature store to the application</h4>



<p>When adding a feature store module and adding the imports one major difference from the root is the <code>forFeature</code> method. </p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="378" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/3.png?resize=640%2C378&#038;ssl=1" alt="" class="wp-image-56" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/3.png?resize=1024%2C604&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/3.png?resize=300%2C177&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/3.png?resize=768%2C453&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/3.png?w=1080&amp;ssl=1 1080w" sizes="auto, (max-width: 640px) 100vw, 640px" /><figcaption>feature store in store1.module.ts</figcaption></figure>



<p>Ones all the files are created you can add feature module to the app.module just like the RootStoreModule</p>



<h4 class="wp-block-heading">4. Organizing your store folders</h4>



<p>In this simple example, you can see a separate folder for the feature store on the same level as the root store, but in a real application, I recommend adding a feature store folder on the same level as the feature folder. </p>



<h4 class="wp-block-heading">5. Adding stores to your components</h4>



<p>Since this example uses both stores in the app component, it’s pretty clear how easy it is to use the store and create a truly reactive application using an NGRX store.</p>



<p>In AppComponent you can find root store and feature store usage.</p>



<p>Stores are injected into the constructor and actions are
dispatched to load the data:</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="370" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/4.png?resize=640%2C370&#038;ssl=1" alt="" class="wp-image-57" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/4.png?resize=1024%2C592&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/4.png?resize=300%2C174&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/4.png?resize=768%2C444&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/4.png?w=1198&amp;ssl=1 1198w" sizes="auto, (max-width: 640px) 100vw, 640px" /><figcaption>app.component.ts</figcaption></figure>



<p>You can see that the template is using the async pipe to load the data, there are no subscribe events. Observables are assigned the selectors from the store:</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" width="640" height="295" src="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?resize=640%2C295&#038;ssl=1" alt="" class="wp-image-58" loading="lazy" srcset="https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?resize=1024%2C472&amp;ssl=1 1024w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?resize=300%2C138&amp;ssl=1 300w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?resize=768%2C354&amp;ssl=1 768w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?resize=1536%2C708&amp;ssl=1 1536w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?resize=1568%2C723&amp;ssl=1 1568w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?w=1867&amp;ssl=1 1867w, https://i0.wp.com/www.katesky.com/wp-content/uploads/2020/01/5.png?w=1280&amp;ssl=1 1280w" sizes="auto, (max-width: 640px) 100vw, 640px" /></figure>



<h4 class="wp-block-heading">6. Conclusion</h4>



<p>In this article, I tried to deliver a technical guide on how to organize your application NGRX stores and provide you with examples of how they can be organized.</p>



<p>We started by setting up the root and feature stores and registering them in the app module. We then added the stores to a component and saw how data is displayed on the screen.</p>



<h4 class="wp-block-heading">7. Links</h4>



<ul class="wp-block-list"><li><a href="https://github.com/katesky/ngrx-multy-store">https://github.com/katesky/ngrx-multy-store</a></li><li><a href="https://stackblitz.com/edit/github-ngrx-multy-store">https://stackblitz.com/edit/github-ngrx-multy-store</a></li><li><a href="https://github-ngrx-multy-store.stackblitz.io">https://github-ngrx-multy-store.stackblitz.io</a></li></ul>



<h4 class="wp-block-heading">8. Part 2 (To be continued…) </h4>



<p>Where I will show how to test a component that uses a feature
store. Some mocking will take place.</p>



<p>I kept this project as simple as possible, so you can even
take the source code and add it to your application as a template. I know I will
in the future.</p>



<p>I hope this article helps you out with adding NGRX to your application.</p>
</body>The post <a href="https://www.katesky.com/2020/01/17/angular-ngrx-multiple-store-architecture-part-1/">Angular: NGRX clean architecture with multiple stores (Part 1)</a> first appeared on <a href="https://www.katesky.com">Kate Gable</a>.]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">53</post-id>	</item>
	</channel>
</rss>
