Seletores e o hook useSelector no Redux
Nas lições anteriores, armazenamos dados de produtos na store. Como podemos obtê-los da store?
Para fazer isso, precisamos escrever uma função seletora. Esta função sabe como extrair uma parte específica de informação do valor do estado armazenado na store e ajuda a evitar a repetição de código à medida que a aplicação cresce. Esta função recebe o state como entrada e retorna a fatia do estado necessária. Por exemplo:
const selectValue = state => state.some.value
No início do tutorial, foi mencionado que a store tem um método getState. Poderíamos facilmente usá-lo para obter o valor do estado:
const value = selectValue(store.getState())
O problema é que nossos componentes React não podem acessar a store diretamente, pois é proibido importá-la para o arquivo do componente. Mas temos a capacidade de obter os dados no componente usando o hook React-Redux useSelector. Além disso, com este hook, nossos componentes sempre receberão dados atualizados:
const count = useSelector(selectValue)