Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
React and React Native

You're reading from   React and React Native A complete hands-on guide to modern web and mobile development with React.js

Arrow left icon
Product type Paperback
Published in Apr 2020
Publisher Packt
ISBN-13 9781839211140
Length 526 pages
Edition 3rd Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Adam Boduch Adam Boduch
Author Profile Icon Adam Boduch
Adam Boduch
Roy Derks Roy Derks
Author Profile Icon Roy Derks
Roy Derks
Arrow right icon
View More author details
Toc

Table of Contents (33) Chapters Close

Preface 1. Section 1: React
2. Why React? FREE CHAPTER 3. Rendering with JSX 4. Component Properties, State, and Context 5. Getting Started with Hooks 6. Event Handling - The React Way 7. Crafting Reusable Components 8. The React Component Life Cycle 9. Validating Component Properties 10. Handling Navigation with Routes 11. Code Splitting Using Lazy Components and Suspense 12. Server-Side React Components 13. User Interface Framework Components 14. Section 2: React Native
15. Why React Native? 16. Kick-Starting React Native Projects 17. Building Responsive Layouts with Flexbox 18. Navigating Between Screens 19. Rendering Item Lists 20. Showing Progress 21. Geolocation and Maps 22. Collecting User Input 23. Displaying Modal Screens 24. Responding to User Gestures 25. Controlling Image Display 26. Going Offline 27. Section 3: React Architecture
28. Native UI Components Using NativeBase 29. Handling Application State 30. Why Apollo? 31. Building an Apollo React App 32. Other Books You May Enjoy

Synchronizing application data

So far in this chapter, you've learned how to detect the state of a network connection, and how to store data locally in a React Native application. Now, it's time to combine these two concepts and implement an app that can detect network outages and continue to function.

The basic idea is to only make network requests when you know for sure that the device is online. If you know that it isn't, you can store any changes in the state locally. Then, when you're back online, you can synchronize those stored changes with the remote API.

Let's implement a simplified React Native app that does this. The first step is implementing an abstraction that sits between the React components and the network calls that store data. We'll call this module store.js:

import { AsyncStorage } from "react-native";
import NetInfo from "@react-native-community/netinfo";

const fakeNetworkData = {
first: false,
second: false,
third...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime