Redux - Loja

Uma loja é uma árvore de objetos imutáveis ​​no Redux. Uma loja é um contêiner de estado que contém o estado do aplicativo. Redux pode ter apenas uma loja em seu aplicativo. Sempre que uma loja é criada no Redux, você precisa especificar o redutor.

Vamos ver como podemos criar uma loja usando o createStoremétodo do Redux. É necessário importar o pacote createStore da biblioteca Redux que suporta o processo de criação de loja conforme mostrado abaixo -

import { createStore } from 'redux';
import reducer from './reducers/reducer'
const store = createStore(reducer);

Uma função createStore pode ter três argumentos. A seguir está a sintaxe -

createStore(reducer, [preloadedState], [enhancer])

Um redutor é uma função que retorna o próximo estado do aplicativo. Um preloadedState é um argumento opcional e é o estado inicial do seu aplicativo. Um realçador também é um argumento opcional. Isso o ajudará a aprimorar a loja com recursos de terceiros.

Uma loja tem três métodos importantes, conforme mostrado abaixo -

getState

Ele ajuda você a recuperar o estado atual de sua loja Redux.

A sintaxe para getState é a seguinte -

store.getState()

Despacho

Ele permite que você despache uma ação para alterar um estado em seu aplicativo.

A sintaxe para envio é a seguinte -

store.dispatch({type:'ITEMS_REQUEST'})

se inscrever

Isso ajuda você a registrar um retorno de chamada que a loja Redux chamará quando uma ação for despachada. Assim que o estado Redux for atualizado, a visualização será renderizada novamente automaticamente.

A sintaxe para envio é a seguinte -

store.subscribe(()=>{ console.log(store.getState());})

Observe que a função de inscrição retorna uma função para cancelar a inscrição do ouvinte. Para cancelar a inscrição do ouvinte, podemos usar o código abaixo -

const unsubscribe = store.subscribe(()=>{console.log(store.getState());});
unsubscribe();