Il mio codice https://gist.github.com/ButuzGOL/707d1605f63eef55e4afFlux Dispatch.dispatch (...): Non è possibile inviare nel bel mezzo di un dispaccio
Così quando mi firmo-nel successo di callback voglio fare redirect,
reindirizzamento funziona attraverso dispatcher pure.
E sto ricevendo Dispatch.dispatch (...): Impossibile inviare nel mezzo di una spedizione.
C'è qualche trucco per chiamare l'azione nel mezzo?
In realtà è molto comune che per esempio il componente A crea un azione che cambia negozio B quale componente C sta ascoltando e in risposta il componente C ha bisogno di recuperare i dati dal server che è un'azione, ma il dispatcher continua a inviare i dati, quindi non può farlo. La soluzione a questo mi sembra abbastanza hacky (avvolgendo l'azione di recupero in un setTimeout o simile) – Esailija
Immagino che sia meglio non causare un invio per * iniziare * una richiesta (l'unica ragione per farlo è mostrare spinners di caricamento ecc. in ogni caso, ma in realtà non sono realmente i dati dell'applicazione, ma piuttosto lo stato dei componenti) – Esailija
I componenti non devono decidere quando recuperare i dati. Questa è la logica dell'applicazione nel livello vista. Questa logica appartiene allo store, che può sparare all'XHR e quindi il callback error/success crea azioni con i nuovi dati. – fisherwebdev