fun <State> createThunkMiddleware(extraArgument: Any? = null): <ERROR CLASS><State>
Thunk middleware for async action dispatches. Usage: val store = createStore(myReducer, initialState, applyMiddleware(thunk, myMiddleware))
val myNetworkThunk(query: String) = createThunk { dispatch, getState, extraArgument ->
launch {
dispatch(LoadingAction())
//do async stuff
val result = api.fetch(query)
dispatch(CompleteAction(result))
}
}
store.dispatch(myNetworkThunk("query"))