From f9085a76be3dae840c77b795ab0320bb00a444a4 Mon Sep 17 00:00:00 2001 From: "Matthew Parker [SSW]" <61717342+MattParkerDev@users.noreply.github.com> Date: Tue, 13 Aug 2024 18:24:14 +1000 Subject: [PATCH] =?UTF-8?q?XS=E2=9C=94=20=E2=97=BE=20=E2=99=BB=EF=B8=8F=20?= =?UTF-8?q?App=20State=20Pattern=20-=20Mention=20Fluxor=20(#9011)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update rule.md * Auto-fix Markdown files --------- Co-authored-by: github-actions[bot] --- rules/blazor-appstate-pattern-with-notifications/rule.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rules/blazor-appstate-pattern-with-notifications/rule.md b/rules/blazor-appstate-pattern-with-notifications/rule.md index 6cbd0c1d0cd..a3ea73d5d7e 100644 --- a/rules/blazor-appstate-pattern-with-notifications/rule.md +++ b/rules/blazor-appstate-pattern-with-notifications/rule.md @@ -156,3 +156,5 @@ The Counter page example below calls `StateHasChanged()` when the `PropertyChang Whenever the `IncrementCount()` or `Reset()` methods are invoked, any listeners on the page will invoke the handling code attached to the `PropertyChanged` event - and be able to invoke `StateHasChanged` in order to update their respective views. The real value of implementing `INotifyPropertyChanged` (or by using an abstraction like `BaseClass` above) is when the same shared state object is used multiple times on the same page and having the `PropertyChanged` event handlers invoked from a single interaction and automatically keeping the view up to date for all components. + +Although this mitigates an issue with the [AppState pattern](blazor-basic-appstate-pattern), it is still not a complete solution for all scenarios. For more complex scenarios, consider using a Redux state management pattern. [Fluxor](https://github.com/mrpmorris/Fluxor) is a NuGet package implementing the Redux pattern for Blazor.