Book Image

Mastering React Native

Book Image

Mastering React Native

Overview of this book

React Native has completely revolutionized mobile development by empowering JavaScript developers to build world-class mobile apps that run natively on mobile platforms. This book will show you how to apply JavaScript and other front-end skills to build cross-platform React Native applications for iOS and Android using a single codebase. This book will provide you with all the React Native building blocks necessary to become an expert. We’ll give you a brief explanation of the numerous native components and APIs that come bundled with React Native including Images, Views, ListViews, WebViews, and much more. You will learn to utilize form inputs in React Native. You’ll get an overview of Facebook’s Flux data architecture and then apply Redux to manage data with a remote API. You will also learn to animate different parts of your application, as well as routing using React Native’s navigation APIs. By the end of the book, you will be able to build cutting-edge applications using the React Native framework.
Table of Contents (20 chapters)
Mastering React Native
Credits
Disclaimer
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

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...