Agora, instalarei um pacote extra neste projeto com o npm install --save e
é o Redux Thunk.
Esse é o chamado middleware Redux que podemos chamar, o que nos permite alterar nossos criadores de
ação aqui na pasta actions, para que possamos fazer coisas assíncronas lá, para que possamos lidar com
efeitos colaterais para que, por exemplo, possamos enviar HTTP solicitações em um criador de ação e, somente depois que
as solicitações HTTP forem
concluídas, estamos enviando uma ação para o repositório Redux, porque isso é importante,
em geral o fluxo do Redux precisa ser síncrono. Portanto, você não pode esperar que alguma
ação seja concluída antes de atualizar seu estado. Com o Redux Thunk, isso muda, seu redutor ainda
precisa ser síncrono, portanto, nenhum código assíncrono deve estar aqui, mas seu criador de ações agora pode ser assíncrono,
isso significa que agora você pode enviar uma solicitação como parte do criador de ações e
apenas uma vez pronto, você envia a ação para o redutor e verá isso na prática em um segundo,
por exemplo, aqui em create product, que é o que eu quero começar.
No entanto, para usar esse novo recurso, temos que habilitar o Redux Thunk e fazemos isso no aplicativo. No arquivo js, lá do Redux, você precisa importar
o
middleware de aplicação e, além disso, é necessário importar uma coisa nova, que é o Redux Thunk, você pode nomear isso
da maneira que quiser, do Redux Thunk. Novamente, isso pode ser nomeado
como você quiser, porque estamos usando a exportação padrão desse pacote.
Agora você usa isso em create store, lá você pode analisar um segundo argumento e,
lá, você deve chamar apply middleware como uma função e, para essa função, passar Redux Thunk.
Agora, basicamente, vamos habilitar o pacote que, por sua vez, nos permite fazer essa coisa diferente no criador de
ações que eu estava me referindo, e que coisa diferente é agora o que veremos a seguir.