@angular-redux-ivy/router

中文文档
13.0.4发布于 2022/09/26MITTypeScriptESM + CJS近 30 天下载 2617

在 Redux 中保持您的 Angular 2+ 路由器状态 .

中文使用文档
文档目录4 节
  1. 设置
  2. 如果我用Immultable.js 和我的Redux商店?
  3. 如果我有另一种方式提供当前网页的URL呢?
  4. 实例

: 警告: 这是原工程的叉子

它能帮助常春藤 并使其与Angular 13+工作

@angular-redux/路由器

npm version downloads per month

绑定连接 @ angular/ router 到 @ angular- redux/ core

设置

  1. 使用 npm 安装绑定 :
npm install @angular-redux/router --save
  1. 使用 routerReducer 提供时 Store数字 :
import { combineReducers } from 'redux';
import { routerReducer } from '@angular-redux/router';

export default combineReducers<IAppState>({
  // your reducers..
  router: routerReducer,
});
  1. 在您的根模块中添加绑定值 .
import { NgModule } from '@angular/core';
import { NgReduxModule, NgRedux } from '@angular-redux/core';
import { NgReduxRouterModule, NgReduxRouter } from '@angular-redux/router';
import { RouterModule } from '@angular/router';
import { routes } from './routes';

@NgModule({
  imports: [
    RouterModule.forRoot(routes),
    NgReduxModule,
    NgReduxRouterModule.forRoot(),
    // ...your imports
  ],
  // Other stuff..
})
export class AppModule {
  constructor(ngRedux: NgRedux<IAppState>, ngReduxRouter: NgReduxRouter) {
    ngRedux.configureStore(/* args */);
    ngReduxRouter.initialize(/* args */);
  }
}

如果我用Immultable.js 和我的Redux商店?

当使用包装纸处理您的商店状态时, 如 Immultable.js 等, 您需要改变标准设置中的两件事 :

  1. 提供接收类型动作的自减函数 UPDATE_LOCATION 并返回有效载荷 合并到状态.
  2. 通过选取器进入有效载荷状态,并将其通过 selectLocationFromState 选项 NgReduxRouter是因为 initialize()。 。 。 .

这两个钩子将允许您存储此库使用的格式或包装的状态.

如果我有另一种方式提供当前网页的URL呢?

看你的应用需要。 它可能需要以不同方式提供当前页面的 URL 通过路由器。 可以通过以第二个论点初始化约束来实现: urlState$。 。 。 . 这个 urlState$ 参数允许您给出 NgReduxRouter a 一个 Observable<string> 该页面的当前 URL. 如果这一论点没有赋予约束方,则默认签署 @angular/router事件,和 从那里得到URL.

实例

版本与发布记录

@angular-redux-ivy/router 共发布 4 个版本,首次发布于 2022/08/25;过去 12 个月发布了 0 个版本。

版本发布日期距今
13.0.4latest2022/09/264 年前
13.0.32022/09/264 年前
13.0.12022/08/254 年前
13.0.02022/08/254 年前

关于 @angular-redux-ivy/router 的常见问题

@angular-redux-ivy/router 是什么?

在 Redux 中保持您的 Angular 2+ 路由器状态 .

如何安装 @angular-redux-ivy/router?

在项目目录运行 npm install @angular-redux-ivy/router,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@angular-redux/store(^10.0.0)、@angular/common(^7.0.0)、@angular/core(^7.0.0)、@angular/router(^7.0.0)、redux(^4.0.0)、rxjs(^6.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@angular-redux-ivy/router 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@angular-redux-ivy/router 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@angular-redux-ivy/router 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=8。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@angular-redux-ivy/router 可以商用吗?

@angular-redux-ivy/router 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@angular-redux-ivy/router 的下载量有多少?

根据 npm 官方下载统计,@angular-redux-ivy/router 在 2026/10/06 – 2026/11/04 这 30 天内被下载 2,617 次,日均约 87 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@angular-redux-ivy/router 还在维护吗?

最新版本 13.0.4 发布于 2022/09/26(4 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/08/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。