"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Présentation d'Origami-State-Manager (OSM) : une bibliothèque de gestion d'état légère avec un passe-partout minimal

Présentation d'Origami-State-Manager (OSM) : une bibliothèque de gestion d'état légère avec un passe-partout minimal

Publié le 2024-08-30
Parcourir:984

Introducing Origami-State-Manager (OSM): A Lightweight State Management Library with Minimal Boilerplate

Gérer l'état global dans les applications JavaScript, en particulier lorsque vous en avez besoin, est accessible dans des contextes React et non-React, peut être difficile. Les bibliothèques existantes impliquent souvent une configuration lourde, une complexité inutile et sont étroitement couplées à React. Et si vous pouviez gérer l’État avec l’élégance et la simplicité du pliage de papier ? Saisissez Origami-State-Manager (OSM).


Qu'est-ce qu'OSM ?

Origami-State-Manager (OSM), prononcé "génial", est une bibliothèque légère de gestion d'état conçue pour être simple, flexible et évolutive. Inspiré de l’art japonais de l’Origami, qui transforme une simple feuille de papier en dessins complexes, OSM vous permet de gérer l’état global de votre application avec la même élégance. Tout comme le papier, il est incroyablement léger, ce qui le rend parfait pour les applications où la simplicité et les performances comptent.


Pourquoi OSM ?

Le parcours vers la création d'OSM a commencé par la recherche d'une solution qui pourrait :

  • Réduire le passe-partout : La gestion de l'état doit être simple et nécessiter le moins de configuration possible.
  • Soyez polyvalent : Travaillez de manière transparente dans des contextes React et non-React.
  • Restez léger : Évitez de surcharger votre bundle avec du code inutile.
  • Restez flexible et évolutif : Adaptez-vous sans effort aux différents besoins du projet tout en maintenant les performances.

Si vous en avez assez des solutions sur-conçues et que vous voulez quelque chose qui fonctionne tout simplement, OSM pourrait être l'outil "génial" dont vous avez besoin.


Caractéristiques principales

  • Configuration minimale : Définissez et gérez rapidement votre état global avec une API propre et intuitive.
  • Compatibilité React et Non-React : Les états sont accessibles et mis à jour à partir des composants React et des fonctions JavaScript simples.
  • Léger : Aussi léger que du papier, OSM maintient votre application rapide et réactive.
  • Options de persistance : Rendez vos états persistants avec une configuration simple.

Premiers pas avec OSM

Prêt à ajouter un peu d'OSM à votre application ? Voici comment commencer :

1. Installez la bibliothèque :

npm install origami-state-manager

2. Créer une boutique :

Un magasin est l'endroit où vivent tous vos États mondiaux. En configurer un est aussi simple que de transmettre vos valeurs d'état initiales à createStore :

// store.ts
import { createStore } from "origami-state-manager";

const initialValues = {
  origami: 0,
  osmness: 0,
};

export const store = createStore(initialValues);

Vous pouvez également rendre le magasin persistant en fournissant un nom de magasin :

export const store = createStore(initialValues, "myOSMness");

3. État d'accès et de mise à jour :

Pour les composants React, utilisez le hook useStateListener pour accéder et mettre à jour l'état :

import { store } from "./store";
import { useStateListener } from "origami-state-manager";

function OrigamiComponent() {
  const origami = useStateListener("origami", store);

  return (
    
  );
}

4. État d'accès dans les fonctions non-React :

Vous pouvez également facilement travailler avec un état en dehors de React :

// utils.js

function getProfile() {
  let profile = store["profile"].value;
  if (!profile) {
    store["profile"].value = {};
  }

  return store["profile"].value;
}

Cas d'utilisation

OSM est parfait pour les scénarios dans lesquels :

  • Vous avez besoin d'une solution légère pour une gestion simple de l'état global.
  • Votre projet implique à la fois une logique React et non-React qui doit partager l'état global.
  • Vous souhaitez éviter la complexité des bibliothèques plus grandes comme Redux ou MobX.

Attention : quelques oups à venir !

OSM en est encore à ses débuts et n’a pas été entièrement testé dans tous les environnements. Bien qu’il soit idéal pour les petits projets et les besoins simples de l’État, il est conseillé d’être prudent lorsque l’on l’utilise dans des scénarios complexes. Si vous rencontrez des problèmes, veuillez les signaler afin que la bibliothèque puisse continuer à s'améliorer.


Contribuer à OSM

Vous souhaitez contribuer à rendre OSM encore plus génial ? Les contributions sont les bienvenues ! Consultez les directives de contribution pour commencer.


Restez à jour

Le journal des modifications est régulièrement mis à jour avec toutes les nouvelles modifications et améliorations.


Réflexions finales

Origami-State-Manager (OSM) vise à fournir une solution simple mais puissante pour la gestion globale de l'état sans encombrement. En gardant une configuration minimale et des performances élevées, OSM vous permet de vous concentrer sur la création de fonctionnalités plutôt que de lutter contre la complexité des états.

Essayez-le et découvrez un nouveau niveau de OSM-ness dans vos projets !

Démarrez avec OSM aujourd'hui : npm : origami-state-manager


Déclaration de sortie Cet article est reproduit à l'adresse : https://dev.to/abdulzahir/introducing-origami-state-manager-osm-a-lightweight-state-management-library-with-minimal-boilerplate-5b7n?1. En cas de violation , veuillez contacter study_golang @163.comdelete
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3