Storage du SDK JavaScript
Le SDK JavaScript de Snipcart utilise Redux comme outil de gestion de l'état. Par conséquent, certaines méthodes de storage de Redux sont disponibles.
getState
La méthode getState
retourne l'arbre d'état actuel de l'application. Dans ce cas, la valeur retournée est de type SnipcartState
.
Snipcart.store.getState();
subscribe
La méthode subscribe
déclenche un rappel chaque fois qu'une action est répartie. C'est souvent utilisé pour vérifier si un changement s'est produit dans l'état de l'application. Lorsqu'elle est invoquée, la fonction de retour de la méthode subscribe
supprime le listener de changement.
let currentValue;
const unsubscribe = store.subscribe(() => {
let previousValue = currentValue;
currentValue = Snipcart.store.getState();
if (previousValue !== currentValue) {
// Anything goes...
}
});
// unsubscribe();
Nombre d'articles
Si vous avez besoin d'afficher le nombre d'articles par programmation, vous pouvez y accéder par le biais de l'état :
Snipcart.store.getState().cart.items.count
Un cas d'utilisation courant serait de mettre à jour une div contenant le nombre d'articles :
// Let's say you have a <div id="cart-items-count" /> in your application.
const div = document.getElementById('cart-items-count');
Snipcart.store.subscribe(() => {
const count = Snipcart.store.getState().cart.items.count;
div.innerHTML = count;
});