I am observing a rather strange behavior while using
dispatch function of
useReducer hook. I have created a small nit that reproduces this case. https://tinyurl.com/wnso6m7.
The problem seems to be that
dispatch function doesn’t wait for the reducer to finish. So if I call another function after calling
dispatch, that function seems to complete before the earlier called
dispatch function, i.e. given below,
validateInput() seems to complete before dispatch.
Is this an expected behaviour?
Here is the log trace of the behavior from the above mentioned nit.
reducer validateCounterName() ON BLUR reducer validateCounterName() ON CHANGE reducer validateCounterName() ON CHANGE reducer validateCounterName() ON CHANGE validateCounterName() reducer ON CHANGE
As you can see the almost always the
reducer is called after
validateCounterName. However, in the code (line 46 - 56) it is the
dispatch function that is called before the
Any ideas what is happening?