![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@lithium-framework/state
Advanced tools
Lithium fournit une gestion des états puissante et intuitive, permettant de suivre et de réagir aux changements de valeurs de manière efficace. Ce guide explique comment utiliser la classe State
et la fonction createState
pour gérer les états dans vos applications.
Lithium propose une gestion d'état élégante basée sur des objets observables. Les états permettent de suivre et de réagir aux changements de manière réactive, simplifiant ainsi la gestion des données dans vos applications.
Installez Lithium state via npm :
npm install @lithium-framework/state
Pour initialiser un état, utilisez la classe State
ou la fonction createState
:
import { State, createState } from '@lithium-framework/state';
// Utilisation de la classe State
let state = State.init<number>(0);
// Utilisation de la fonction createState
let [counter, setCounter] = createState<number>(0);
Vous pouvez souscrire aux changements d'état pour réagir aux modifications de valeur :
// Souscrire aux changements d'état avec la classe State
state.subscribe((newValue) => {
console.log('Nouvelle valeur:', newValue);
});
// Souscrire aux changements d'état avec createState
counter.subscribe((newValue) => {
console.log({ newValue });
});
// Mettre à jour l'état
setCounter(counter.value + 1);
Lithium maintient un historique des valeurs d'état, permettant de suivre les changements successifs :
state.value = 1;
state.value = 2;
// Affiche les valeurs précédentes, jusqu'à 10 entrées
console.log(state.history);
Les mutateurs permettent de gérer l'état et de le mettre à jour de manière fluide :
let [ counter, setCounter ] = state.mutator;
setCounter(10); // Met à jour l'état à 10
console.log(counter.value); // Affiche 10
Lithium permet de convertir des objets d'état en valeurs primitives de manière personnalisée :
// Utilise Symbol.toPrimitive pour obtenir la valeur primitive
let primitiveValue = +state;
console.log(primitiveValue);
State<T>
value: T
- Obtient ou définit la valeur actuelle de l'état.history: T[]
- Obtient l'historique des valeurs de l'état (jusqu'à 10 entrées).static init<T>(value: T): State<T>
- Initialise un nouvel état avec la valeur spécifiée.subscribe(callback: (newValue: any) => void): void
- Souscrit aux changements de valeur de l'état.mutator: [State<T> & T, (newValue: T) => void]
- Renvoie un tableau contenant l'état et une fonction pour le mettre à jour.createState<T>(value: T): [State<T> & T, (newValue: T) => void]
Crée un état avec une valeur initiale et renvoie son mutateur.
typescriptCopier le code
import { createState } from 'lithium';
let [ counter, setCounter ] = createState<number>(0);
counter.subscribe(( newValue ) => {
console.log('Valeur du compteur:', newValue);
});
setCounter(counter.value + 1); // Incrémente le compteur
typescriptCopier le code
import { State } from 'lithium';
let state = State.init<number>(0);
state.value = 1;
state.value = 2;
state.value = 3;
console.log(state.history); // Affiche [0, 1, 2]
Les contributions sont les bienvenues !
FAQs
lithium state
The npm package @lithium-framework/state receives a total of 5 weekly downloads. As such, @lithium-framework/state popularity was classified as not popular.
We found that @lithium-framework/state demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.