About the Authors |
|
ix | |
About the Technical Reviewer |
|
xi | |
Acknowledgments |
|
xiii | |
Introduction |
|
xv | |
|
Chapter 1 Learning the Basics: A Whistle-Stop Tour of React |
|
|
1 | (20) |
|
|
2 | (1) |
|
|
3 | (2) |
|
|
5 | (3) |
|
|
8 | (2) |
|
Create a Hello World Application |
|
|
9 | (1) |
|
Introduction to Components |
|
|
10 | (3) |
|
Deep-Dive into Components |
|
|
13 | (3) |
|
|
13 | (3) |
|
|
16 | (4) |
|
|
20 | (1) |
|
Chapter 2 The Simplest Program: Hello World with React Native |
|
|
21 | (28) |
|
|
22 | (1) |
|
|
22 | (2) |
|
|
23 | (1) |
|
Installing the React Native Package |
|
|
23 | (1) |
|
|
23 | (1) |
|
|
24 | (9) |
|
Creating a Basic Skeleton |
|
|
25 | (8) |
|
Prerequisites for Running App on a Simulator |
|
|
33 | (3) |
|
Running the App on a Simulator |
|
|
34 | (1) |
|
|
34 | (2) |
|
|
36 | (1) |
|
What Makes React Native Different? |
|
|
36 | (1) |
|
Ejecting a React Native Application |
|
|
37 | (5) |
|
|
42 | (5) |
|
|
43 | (1) |
|
|
43 | (1) |
|
|
44 | (1) |
|
Showing Performance Monitor |
|
|
45 | (1) |
|
|
46 | (1) |
|
|
47 | (2) |
|
Chapter 3 Solving Problems Differently with Flux and Redux |
|
|
49 | (20) |
|
|
50 | (1) |
|
|
51 | (3) |
|
|
54 | (1) |
|
|
54 | (2) |
|
|
54 | (1) |
|
The Need for Dispatcher [ dispatch() and waitFor()] |
|
|
55 | (1) |
|
|
55 | (1) |
|
|
56 | (1) |
|
|
56 | (1) |
|
|
57 | (2) |
|
|
58 | (1) |
|
|
58 | (1) |
|
|
59 | (1) |
|
|
59 | (8) |
|
Working with the Components |
|
|
63 | (4) |
|
|
67 | (2) |
|
Chapter 4 Canvas, Brush, and Paint: Working with the User Interface |
|
|
69 | (34) |
|
|
70 | (6) |
|
|
76 | (1) |
|
|
77 | (9) |
|
|
80 | (2) |
|
|
82 | (4) |
|
|
86 | (2) |
|
|
88 | (6) |
|
|
94 | (4) |
|
|
98 | (1) |
|
<ScrollView> vs. <FlatList> |
|
|
99 | (1) |
|
|
99 | (2) |
|
|
101 | (2) |
|
Chapter 5 Exploring Device Capabilities |
|
|
103 | (38) |
|
|
103 | (13) |
|
Reviewing the GeoLocation Map Code |
|
|
106 | (2) |
|
Adding Annotation on a Map |
|
|
108 | (2) |
|
Displaying the Latitude and Longitude of the Current Location |
|
|
110 | (6) |
|
|
116 | (7) |
|
Reviewing the AsyncStorage Code |
|
|
120 | (3) |
|
|
123 | (7) |
|
Reviewing the NativeAlert Code |
|
|
126 | (1) |
|
Extending the NativeAlert Example |
|
|
127 | (3) |
|
|
130 | (3) |
|
Reviewing the WebView Code |
|
|
132 | (1) |
|
|
133 | (6) |
|
|
139 | (2) |
|
Chapter 6 Communicating with Servers |
|
|
141 | (24) |
|
|
142 | (1) |
|
|
142 | (1) |
|
|
143 | (2) |
|
Getting Data from a Server |
|
|
145 | (4) |
|
|
149 | (14) |
|
|
163 | (2) |
|
Chapter 7 Native Bridging in React Native |
|
|
165 | (22) |
|
|
166 | (20) |
|
Prerequisites for the Example |
|
|
166 | (13) |
|
Native Bridge for Android |
|
|
179 | (7) |
|
|
186 | (1) |
|
|
187 | (12) |
|
|
187 | (1) |
|
|
188 | (1) |
|
|
188 | (4) |
|
|
189 | (3) |
|
Snapshot Testing with Jest |
|
|
192 | (5) |
|
|
197 | (2) |
|
Chapter 9 Getting Ready for the World |
|
|
199 | (26) |
|
|
199 | (1) |
|
|
200 | (1) |
|
|
201 | (7) |
|
|
203 | (5) |
|
Generating iOS .ipa(iPhone Application Archive) |
|
|
208 | (11) |
|
Generating Android .apk(Android application package) |
|
|
219 | (3) |
|
Beta Testing with TestFlight |
|
|
222 | (1) |
|
|
223 | (2) |
|
Chapter 10 The Ecosystem: Extending React Native |
|
|
225 | (8) |
|
Popular React Native Libraries |
|
|
225 | (5) |
|
|
226 | (1) |
|
|
226 | (1) |
|
Type Checking and Linting |
|
|
227 | (1) |
|
|
227 | (1) |
|
Interacting with APIs and Back End |
|
|
228 | (1) |
|
|
229 | (1) |
|
|
229 | (1) |
|
|
230 | (1) |
|
|
230 | (1) |
|
|
231 | (1) |
|
Stay Updated with React Native |
|
|
231 | (1) |
|
|
231 | (1) |
|
|
232 | (1) |
|
Discussions and Proposals |
|
|
232 | (1) |
|
|
232 | (1) |
Index |
|
233 | |