ngrx基于angular2-router路由更新状态

时间:2016-12-21 18:21:07

标签: angular redux store router ngrx

因此,继续使用REST服务器开发基于redux的Angular2应用程序。 在应用程序中,我有以下减速器:

  1. AuthReducer - > AuthState
  2. UserReducer - > UserState
  3. UserListReducer - > UserListState
  4. ArticleReducer - > ArticleState
  5. ArticleListReducer - > ArticleListState
  6. 该应用程序在多个位置(即页面/路由)中使用了许多减少器。 app状态本身由以下方式组成(app路由在注释中):

    export interface AppState
    {
      localUser: AuthState
    
      //homePage with random article (/)
        homeArticle: ArticleState
    
      //profilePage (/profile)
        profileInfo: UserState // (profile/info)
        profileArticles: ArticleListState // (profile/articles)
        favouriteArticles: ArticleListState // (profile/favourite)
        subscribers: UserListState // (profile/subscribers)
    
      //userPage (when local user navigates to article's publisher's profile)
      // (/user/:id)
        userInfo: UserState // (/user/:id/info)
        userArticles: ArticleListState // (/user/:id/articles)
        userSubscribers: UserListState // (/user/:id/subscribers)
    
      //feedPage (/feed)
        feed: ArticleListState
    
      //.....
    }

    所以,基本上,如果我需要(理论上)缓存和检索整个应用程序状态,所有页面的信息都将被恢复。

    因此,我们将以下场景作为示例: 我作为经过身份验证的用户位于个人资料/文章页面上。我想创建一篇新文章。

    1. 我在该页面上的ArticleListComponent将CREATE_ARTICLE操作调度到商店-------(商店如何知道要更新的列表状态?
    2. ArticleListReducer处理该操作
    3. @Effect发生将数据发送到后端
    4. 通过ArticleListReducer
    5. 调用并处理CREATE_ARTICLE_SUCCESS
    6. 文章已成功创建?已成功。它在列表中并显示在页面上。
    7. 现在,有两个问题:

      1. 这样的申请结构一般会不会这样做?
      2. 如何正确更新相应的状态?
      3. 修改

        我只是猜测它可以根据当前路线以某种方式有条件地管理。但不确定是否是解决方案。

0 个答案:

没有答案