Zdaję sobie sprawę, że to podstawowe pytanie, ale nie udało mi się znaleźć odpowiedzi gdzie indziej.
Czy jest store.dispatch
synchroniczne czy asynchroniczne Redux
?
W przypadku, gdy jest to asynchroniczne, czy istnieje możliwość dodania wywołania zwrotnego po propagowaniu akcji, tak jak jest to możliwe w przypadku React
?
getState()
), alemapStateToProps
tak nie jest. Podobniethis.props.value
jak stara wartość, podczas gdygetState().value
jest nowa --codeandbox.io/s/reactredux-forked-0m5eo?file=/Page.jsOdpowiedzi:
AFAIK, akcja dyspozytorska jest synchroniczna. W przypadku, gdy chcesz zaadresować wywołanie asynchroniczne, możesz użyć thunk-middleware w redux, gdzie wysyłka jest dostarczana jako funkcja zwrotna, którą możesz wywołać według własnego uznania. Aby uzyskać więcej informacji, sprawdź tę odpowiedź w SO od samego autora: Jak wysłać akcję Redux z limitem czasu?
źródło
Nikt nie wie lepiej niż sam kod . =) Jak widać
dispatch
jest absolutnie synchroniczny. Jedynym ostrzeżeniem jest to, że storeenhancers
może (i robi) substytucjędispatch
metody. Na przykład, spójrz naapplyMiddleware
wzmacniacz , który pozwala na podłączenie oprogramowania pośredniego poprzez zastąpienie domyślnejdispatch
metody jej własną implementacją. Chociaż nigdy nie widziałem żadnego Reduxa,enhancer
który faktycznie usuwałby synchroniczną naturędispatch
.źródło
code itself
linku, co spowodowałoby martwe linki ze względu na aspekt `` permalink '' w zatwierdzeniach.