This repository was archived by the owner on Mar 5, 2019. It is now read-only.
ui: Use redux-promise-middleware to asynchronously request entity lists from the API#162
Open
aspiers wants to merge 6 commits intoHackBrexit:masterfrom
Open
ui: Use redux-promise-middleware to asynchronously request entity lists from the API#162aspiers wants to merge 6 commits intoHackBrexit:masterfrom
aspiers wants to merge 6 commits intoHackBrexit:masterfrom
Conversation
e01b1dd to
4cea67d
Compare
To correctly support both thunk middleware and Redux Devtools, we use the convenient redux-devtools-extension library to compose thunk with the middleware enhancer, and then use that as the final argument to createStore().
This will allow us to see lists of people, organisations, and government offices, and eventually click on each one to examine it.
We'll use this for asynchronous fetching of data from the Rails API into the Redux store.
This lets us group request-related functions together.
This dispatches the FETCH_ENTITIES action whose payload is an axios
request object. redux-promise-middleware will handle this by executing
the request's promise, and then magically dispatching
FETCH_ENTITIES_{PENDING,FULFILLED,REJECTED} actions according to the 3
possible stages of the conversation with the API endpoint.
Currently these 3 actions are not handled by any reducer; that will come
in subsequent commits.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a stub EntityListContainer component, and from its
componentWillMount, use redux-promise-middleware (which is similar to thunk but even more ideal for making asynchronous API calls) to fetch a list of all entities from the API.Currently the actions and API call are triggered correctly, but we still need to add reducers to handle the actions, and then we need to hook the resulting store data up to the UI to actually display the list of entities retrieved.
This is part one of the implementation of #143.