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;
});