state-t
Version:
`StateTService` est un service générique conçu pour gérer les états de composants dans une application Angular. Il permet de stocker, accéder et manipuler des états de manière typée, flexible et modulaire.
76 lines (57 loc) • 2.36 kB
Markdown
# StateTService - Gestion d'état générique pour Angular
`StateTService` est un service générique conçu pour gérer les états de composants dans une application Angular. Il permet de stocker, accéder et manipuler des états de manière typée, flexible et modulaire.
## Caractéristiques
- **Gestion générique d'état** : Permet de stocker et accéder aux états de différents composants.
- **Typage fort** : Utilise des types génériques (`T`, `H`) pour s'assurer que les états sont manipulés correctement.
- **Vérification des types dynamiques** : Permet de filtrer ou transformer les états récupérés en vérifiant leur type.
- **Modulaire et injectable** : Peut être injecté dans n'importe quel composant ou service Angular.
## Installation
1. Clonez le projet :
```bash
git clone <URL_DU_PROJET>
```
2. Installez les dépendances du projet :
```bash
npm install
```
3. Ajoutez le service dans votre module Angular :
```typescript
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { StateTService } from './path-to-service/state-t.service';
@NgModule({
declarations: [AppComponent],
imports: [BrowserModule],
providers: [StateTService],
bootstrap: [AppComponent]
})
export class AppModule { }
```
## Utilisation
### 1. Importation du service
Commencez par importer et injecter le `StateTService` dans votre composant Angular :
```typescript
import { Component } from '@angular/core';
import { StateTService } from './path-to-service/state-t.service';
interface Person {
name: string;
age: number;
}
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'State Management Example';
constructor(private stateService: StateTService<Person>) {}
ngOnInit() {
const person: Person = { name: 'John', age: 30 };
// Stocker un état
this.stateService.setState('person1', person);
// Récupérer un état
const storedPerson = this.stateService.getState('person1');
console.log(storedPerson); // { name: 'John', age: 30 }
}
}