@ngrx/operators
Advanced tools
Changelog
17.1.1 (2024-02-21)
StateSignal
to the public API (#4247) (3d45e5a)rxMethod
outside of reactive context (#4224) (3a691d9)eval
(#4216) (1df0eb5), closes #4213<a name="17.1.0"></a>
Changelog
17.0.0-rc.0 (2023-11-10)
getState
function (#4118) (79b0708)<a name="17.0.0-beta.0"></a>
Changelog
17.0.0-beta.0 (2023-10-30)
LetModule
(#4087) (f28ea71), closes #4077BEFORE:
import { LetModule } from '@ngrx/component';
@NgModule({ imports: [ // ... other imports LetModule, ], }) export class MyFeatureModule {}
AFTER:
import { LetDirective } from '@ngrx/component';
@NgModule({ imports: [ // ... other imports LetDirective, ], }) export class MyFeatureModule {}
PushModule
is deprecated in favor of the standalone PushPipe
.BEFORE:
import { PushModule } from '@ngrx/component';
@NgModule({
imports: [
// ... other imports
PushModule,
],
})
export class MyFeatureModule {}
AFTER:
import { Component } from '@angular/core';
import { PushPipe } from '@ngrx/component';
@Component({
// ... other metadata
standalone: true,
imports: [
// ... other imports
PushPipe,
],
})
export class MyStandaloneComponent {}
adapter.getSelectors
signature that accepts a parent selector are strongly typed.BEFORE:
const {
selectIds, // type: (state: object) => string[] | number[]
selectEntities, // type: (state: object) => Dictionary<Book>
selectAll, // type: (state: object) => Book[]
selectTotal, // type: (state: object) => number
} = adapter.getSelectors(selectBooksState);
AFTER:
const {
selectIds, // type: MemoizedSelector<object, string[] | number[]>
selectEntities, // type: MemoizedSelector<object, Dictionary<Book>>
selectAll, // type: MemoizedSelector<object, Book[]>
selectTotal, // type: MemoizedSelector<object, number>
} = adapter.getSelectors(selectBooksState);
BEFORE:
The minimum required version of Angular is 16.x
AFTER:
The minimum required version of Angular is 17.x
<a name="16.3.0"></a>