@oclock-titan/store
v0.4.0
Published
Fournit des utilitaires JavaScript pour facilement créer des _stores_ dans les projets informatiques.
Downloads
6
Readme
Store
Fournit des utilitaires JavaScript pour facilement créer des stores dans les projets informatiques.
Installation
yarn add @oclock-titan/store
Usage
import { createStore } from '@oclock-titan/store';
const myStore = createStore(reducer); // où reducer est une fonction de type reducer
À propos du reducer
createStore
crée un nouveau store configuré par un reducer. Le reducer est une fonction avec la signature suivante :
(state, action) => newState
où :
state
sera l'état courant dans le store ;action
une action (normalisée sous la forme d'un objet de structure{ type: 'ACTION_TYPE'[, key: value] }
) dispatchée auprès du store ;newState
une copie, éventuellement modifiée, du state courant.
Le reducer doit également gérer le cas où aucun state & aucune action ne lui sont fournis. Dans ce cas, il doit retourner un état par défaut / initial.
Exemple :
const reducer = (state = initialState, action = defaultAction) {
switch (action.type) {
case 'SOME_ACTION': {
return { ...state, someKey: 'someValue' };
}
default: {
return { ...state };
}
}
};
Récap de la création du paquet npm
- Création d'un nouveau dossier vide. Création d'un dossier src/ pour accueillir le code source du paquet.
- Récupération & nettoyage du code de
createStore
dans src/index.js - Configuration de package.json et de .babelrc pour ajouter une commande
babel:build
de transpilation du code source. - Création d'un dossier dist/ vide.
- Transpilation avec
npm run build:babel
ouyarn build:babel
. - Création du repo local git, commit des fichiers du projet. Push sur GitHub éventuellement.
- Publication du paquet npm avec
npm publish --access public
. Il faut s'être loggué au préalable avecnpm login
.