我目前正在开发一个使用 Blazor WebAssembly 作为前端框架的项目,但是,我认为我在状态管理方面遇到了一些复杂情况。这个问题发生在一个大型复杂的解决方案中,因此我重新创建并简化了它,这样我就可以在这里简洁地描述它,而不会显得臃肿。
我有一个包含两个组件的页面:朋友列表和关注者列表,每个组件都有一个按钮来切换按升序或降序对列表进行排序。
如果我重写并在FollowerList组件内部的OnParametersSetAsync上放置一个断点,然后单击FriendList组件的排序按钮,它会命中我在FollowerList组件上设置的断点。
我的印象是,只有当提供给该组件的属性发生更改或其状态发生更改时,才会在该组件上调用OnParametersSet/Async。在下面的代码中,您可以看到我有两个单独的列表,一个被馈送到一个组件,一个被馈送到另一个组件,所以我不确定如何在未触及的组件上触发此方法......
因此我的问题是:为什么它会在不相关的组件上遇到断点?这是故意行为吗?
页面预览
索引剃刀
@page "/"
<button value="Sort Friends" @onclick=SortFriends>Sort Friends</button>
<FriendList Friends=SortedFriends />
<button value="Sort Followers" @onclick=SortFollowers>Sort Followers</button>
<FollowerList Followers=SortedFollowers />Run Code Online (Sandbox Code Playgroud)
Index.cs(隐藏代码)
using StateManagementTest.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace StateManagementTest.Pages
{
public partial class Index
{
public List<Friend> MyFriends { get; set; }
public List<Friend> SortedFriends { get; set; }
public List<Follower> MyFollowers { get; …Run Code Online (Sandbox Code Playgroud)