Wiring up the NYT API with asynchronous requests
The final piece of our Redux workflow requires that we actually hook up our app to the real NYT API. If you haven't done so already, you'll need to register for the NYT API. Visit http://developer.nytimes.com/ and register for an NYT API key. Once you have your API key, create a file inside the config
directory called nytApiKey.js
:
const NYT_API_KEY = 'YOUR_API_KEY_GOES_HERE'; export default NYT_API_KEY;
Up to this point, we've used an entirely synchronous Redux workflow. However, with the help of middleware, we can return actions from action creators that, instead of data, contain promises. fetch
is a JavaScript polyfill provided by React Native for managing Ajax requests as promises. fetch
, combined with the Redux-promise middleware, will easily allow us to request data from the NYT API without needing to heavily refactor our code.
Begin by installing the Redux-promise middleware:
npm install redux-promise --save
Next, open newsActions.js...