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