> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yampi.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Produto

> Armazena o produto e lista de produtos da página atual, além do SKU selecionado pelo usuário.

Módulo Vuex inicializado a partir de `window.data` no carregamento da página. Disponibiliza o produto da página de produto, a lista de produtos das páginas de listagem e o SKU atualmente selecionado.

## Getters

| Getter        |   Tipo   |              Fonte              | Descrição                                                           |
| :------------ | :------: | :-----------------------------: | :------------------------------------------------------------------ |
| `product`     | `Object` |    `window.data.product.data`   | Produto da página de produto atual.                                 |
| `products`    |  `Array` | `window.data.content.data.data` | Lista de produtos da página de categoria, busca ou coleção.         |
| `meta`        | `Object` | `window.data.content.data.meta` | Metadados da listagem (paginação, totais, etc.).                    |
| `selectedSku` | `Object` |          Estado interno         | SKU selecionado pelo usuário. `undefined` até o usuário selecionar. |

## Actions

| Action           | Parâmetros    | Descrição                                                             |
| :--------------- | :------------ | :-------------------------------------------------------------------- |
| `setSelectedSku` | `sku: Object` | Define o SKU selecionado na store. Usado pelo componente `SelectSku`. |

## Uso

```js theme={"system"}
import { mapGetters, mapActions } from 'vuex';

export default {
    computed: {
        ...mapGetters('product', ['product', 'selectedSku']),
    },
    methods: {
        ...mapActions('product', ['setSelectedSku']),

        onSkuChange(sku) {
            this.setSelectedSku(sku);
        },
    },
};
```

<Tip>
  Para componentes que precisam resolver o produto a partir de múltiplas fontes (prop, store ou ID), use o [mixin product](/editor-codigo/mixins/product) em vez de acessar a store diretamente.
</Tip>
