<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
	
	>
<channel>
	<title>
	Comments on: Top 5 NgRx Mistakes	</title>
	<atom:link href="https://christianlydemann.com/top-5-ngrx-mistakes/feed/" rel="self" type="application/rss+xml" />
	<link>https://christianlydemann.com/top-5-ngrx-mistakes/</link>
	<description>Advanced Angular Training Made Simple</description>
	<lastBuildDate>Thu, 01 Sep 2022 06:51:00 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.4</generator>
	<item>
		<title>
		By: Christian Lydemann		</title>
		<link>https://christianlydemann.com/top-5-ngrx-mistakes/#comment-165148</link>

		<dc:creator><![CDATA[Christian Lydemann]]></dc:creator>
		<pubDate>Thu, 01 Sep 2022 06:51:00 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=13786#comment-165148</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://christianlydemann.com/top-5-ngrx-mistakes/#comment-165147&quot;&gt;Asim&lt;/a&gt;.

So there are exceptions where you might fire actions as commands, the problem is that it is implicitly enforcing an imperative flow, as your action will know about where it is used, which doesn&#039;t scale.

Now, the exception is, if you have an effect, that is triggered by an &quot;action named as event&quot;, that can trigger something specific such as login etc that is in the effect below, in that case I name the action as command, if the action is triggered from any other place than an effect, I name them as events always.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://christianlydemann.com/top-5-ngrx-mistakes/#comment-165147">Asim</a>.</p>
<p>So there are exceptions where you might fire actions as commands, the problem is that it is implicitly enforcing an imperative flow, as your action will know about where it is used, which doesn&#8217;t scale.</p>
<p>Now, the exception is, if you have an effect, that is triggered by an &#8220;action named as event&#8221;, that can trigger something specific such as login etc that is in the effect below, in that case I name the action as command, if the action is triggered from any other place than an effect, I name them as events always.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Asim		</title>
		<link>https://christianlydemann.com/top-5-ngrx-mistakes/#comment-165147</link>

		<dc:creator><![CDATA[Asim]]></dc:creator>
		<pubDate>Thu, 01 Sep 2022 06:26:00 +0000</pubDate>
		<guid isPermaLink="false">https://christianlydemann.com/?p=13786#comment-165147</guid>

					<description><![CDATA[Hey 
@Christian,
thankk you for sharing this kind of content, it is valuable!
But I have a question about this point:
* using actions as commands

what&#039;s wrong with this, actually I use actions as commands, like:
LoginWithEmailAndPassword(email: string, password: string)
to handle the login from the effects, also I have similar actions like:

loadStoreDataByDomain(url: string)
loadStoreDataByStoreId(storeId: string)

so the controller/brain is the effects, where it handles the http requests and update the store accordantly:
loginSuccess()
loadStoreSuccess()

could you please elaborate more on this point, like how to handle login without actions..
keeping mind that we want to hide/encapsulate the http requests &#038; business logic from the components, and to handle them from the effects
thank you AGAIN!
:rose:]]></description>
			<content:encoded><![CDATA[<p>Hey<br />
@Christian,<br />
thankk you for sharing this kind of content, it is valuable!<br />
But I have a question about this point:<br />
* using actions as commands</p>
<p>what&#8217;s wrong with this, actually I use actions as commands, like:<br />
LoginWithEmailAndPassword(email: string, password: string)<br />
to handle the login from the effects, also I have similar actions like:</p>
<p>loadStoreDataByDomain(url: string)<br />
loadStoreDataByStoreId(storeId: string)</p>
<p>so the controller/brain is the effects, where it handles the http requests and update the store accordantly:<br />
loginSuccess()<br />
loadStoreSuccess()</p>
<p>could you please elaborate more on this point, like how to handle login without actions..<br />
keeping mind that we want to hide/encapsulate the http requests &amp; business logic from the components, and to handle them from the effects<br />
thank you AGAIN!<br />
:rose:</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Object Caching 0/1316 objects using Memcache
Page Caching using Disk: Enhanced 
Minified using Disk
Database Caching using Disk (Request-wide modification query)

Served from: christianlydemann.com @ 2026-02-22 08:08:39 by W3 Total Cache
-->