diff --git a/src/ReactiveUI.Blazor/ReactiveComponentBase.cs b/src/ReactiveUI.Blazor/ReactiveComponentBase.cs index b6e609879f..33e8954762 100644 --- a/src/ReactiveUI.Blazor/ReactiveComponentBase.cs +++ b/src/ReactiveUI.Blazor/ReactiveComponentBase.cs @@ -35,7 +35,7 @@ public class ReactiveComponentBase : ComponentBase, IViewFor, INotifyPrope /// public ReactiveComponentBase() { - this.WhenAnyValue(x => x.ViewModel).Where(x => x != null).Subscribe(_ => StateHasChanged()); + this.WhenAnyValue(x => x.ViewModel).Where(x => x != null).Subscribe(_ => InvokeAsync(StateHasChanged)); var viewModelsPropertyChanged = this.WhenAnyValue(x => x.ViewModel) .Where(x => x != null) .Select(x => Observable.FromEvent( @@ -49,7 +49,7 @@ public ReactiveComponentBase() eh => x.PropertyChanged -= eh)) .Switch(); - viewModelsPropertyChanged.Do(_ => StateHasChanged()).Subscribe(); + viewModelsPropertyChanged.Do(_ => InvokeAsync(StateHasChanged)).Subscribe(); } /// diff --git a/src/ReactiveUI.Blazor/ReactiveLayoutComponentBase.cs b/src/ReactiveUI.Blazor/ReactiveLayoutComponentBase.cs index e7ada4551e..878ba65192 100644 --- a/src/ReactiveUI.Blazor/ReactiveLayoutComponentBase.cs +++ b/src/ReactiveUI.Blazor/ReactiveLayoutComponentBase.cs @@ -33,7 +33,7 @@ public class ReactiveLayoutComponentBase : LayoutComponentBase, IViewFor, /// public ReactiveLayoutComponentBase() { - this.WhenAnyValue(x => x.ViewModel).Where(x => x != null).Subscribe(_ => StateHasChanged()); + this.WhenAnyValue(x => x.ViewModel).Where(x => x != null).Subscribe(_ => InvokeAsync(StateHasChanged)); var viewModelsPropertyChanged = this.WhenAnyValue(x => x.ViewModel) .Where(x => x != null) .Select(x => Observable.FromEvent( @@ -47,7 +47,7 @@ public ReactiveLayoutComponentBase() eh => x.PropertyChanged -= eh)) .Switch(); - viewModelsPropertyChanged.Do(_ => StateHasChanged()).Subscribe(); + viewModelsPropertyChanged.Do(_ => InvokeAsync(StateHasChanged)).Subscribe(); } ///