1. Урок 1.00:00:53
    How to Get Help
  2. Урок 2.00:03:20
    Course Overview
  3. Урок 3.00:07:03
    App Setup
  4. Урок 4.00:04:10
    Making Changes
  5. Урок 5.00:08:51
    Overview of React Components
  6. Урок 6.00:04:09
    Showing a Custom Component
  7. Урок 7.00:07:09
    Common Questions and Answers
  8. Урок 8.00:05:51
    Rules of JSX
  9. Урок 9.00:01:46
    One Common Error
  10. Урок 10.00:01:47
    JSX Exercise Overview
  11. Урок 11.00:02:41
    JSX Solution
  12. Урок 12.00:02:25
    Building Lists
  13. Урок 13.00:02:25
    The FlatList Element
  14. Урок 14.00:05:13
    Rendering a FlatList
  15. Урок 15.00:04:12
    Why a Key Property?
  16. Урок 16.00:05:19
    Solving the Key Issue
  17. Урок 17.00:04:58
    A Few Props Around FlatList
  18. Урок 18.00:00:54
    Exercise Overview
  19. Урок 19.00:02:15
    Exercise Solution
  20. Урок 20.00:03:45
    Button Types
  21. Урок 21.00:05:21
    Buttons in Action
  22. Урок 22.00:04:19
    Touchable Opacity in Action
  23. Урок 23.00:06:47
    Navigating with React Navigation
  24. Урок 24.00:04:04
    Destructuring Props
  25. Урок 25.00:03:36
    Component Reuse with Props
  26. Урок 26.00:01:50
    Exercise Solution
  27. Урок 27.00:05:08
    Parent-Child Relationships
  28. Урок 28.00:05:45
    Communicating from Parent to Child
  29. Урок 29.00:04:08
    Showing Images
  30. Урок 30.00:04:15
    Passing Images as Props
  31. Урок 31.00:00:48
    Exercise Outline
  32. Урок 32.00:02:28
    Exercise Solution
  33. Урок 33.00:05:36
    State in Components
  34. Урок 34.00:03:15
    Screen Boilerplate
  35. Урок 35.00:09:46
    State in Action
  36. Урок 36.00:07:01
    Notes on State
  37. Урок 37.00:05:07
    App Overview
  38. Урок 38.00:04:28
    Generating Random Colors
  39. Урок 39.00:04:49
    Adding Random Colors
  40. Урок 40.00:03:34
    Showing Colors with a FlatList
  41. Урок 41.00:04:44
    App Overview
  42. Урок 42.00:06:15
    Reusable Color Adjusters
  43. Урок 43.00:05:32
    Coordinating State
  44. Урок 44.00:06:22
    Passing Callbacks to Children
  45. Урок 45.00:07:17
    Tying State Values Together
  46. Урок 46.00:07:57
    Validating State Changes
  47. Урок 47.00:07:35
    Reusable State Updates
  48. Урок 48.00:08:40
    Introduction to Reducers
  49. Урок 49.00:15:01
    Creating a Reducer
  50. Урок 50.00:08:56
    Applying State with a Reducer
  51. Урок 51.00:07:01
    Restoring Validation
  52. Урок 52.00:06:51
    Community Convention in Reducers
  53. Урок 53.00:01:17
    Exercise Outline
  54. Урок 54.00:10:57
    Exercise Solution
  55. Урок 55.00:03:23
    Handling Text Input
  56. Урок 56.00:03:29
    Showing a Text Input
  57. Урок 57.00:04:17
    Two Important Props
  58. Урок 58.00:06:12
    Weird Things with Text and State
  59. Урок 59.00:04:53
    Updating State
  60. Урок 60.00:02:29
    Exercise Outline
  61. Урок 61.00:02:35
    Exercise Solution
  62. Урок 62.00:03:50
    Layout with React Native
  63. Урок 63.00:05:56
    Basics of Box Object Model
  64. Урок 64.00:04:35
    AlignItems with Flex
  65. Урок 65.00:03:49
    Flex Direction
  66. Урок 66.00:02:57
    Justify Content
  67. Урок 67.00:05:09
    Flex Values
  68. Урок 68.00:02:25
    Align Self on Children
  69. Урок 69.00:02:34
    The Position Property
  70. Урок 70.00:03:02
    Top, Bottom, Left, Right
  71. Урок 71.00:02:47
    Absolute Fill Objects
  72. Урок 72.00:01:53
    Applying Layout Systems
  73. Урок 73.00:01:14
    Exercise Overview
  74. Урок 74.00:06:19
    Exercise Solution
  75. Урок 75.00:01:37
    App Overview
  76. Урок 76.00:02:41
    Project Generation
  77. Урок 77.00:04:41
    Yelp Signup
  78. Урок 78.00:04:17
    Yelp Walkthrough
  79. Урок 79.00:03:07
    React Navigation
  80. Урок 80.00:06:59
    Assembling a Navigator
  81. Урок 81.00:02:48
    Architecture Approach
  82. Урок 82.00:04:12
    Starting the SearchBar
  83. Урок 83.00:05:49
    Displaying Icons
  84. Урок 84.00:04:09
    Search Bar Styling
  85. Урок 85.00:03:53
    A Touch More Styling
  86. Урок 86.00:06:43
    Managing State
  87. Урок 87.00:04:05
    Detecting Editing Completion
  88. Урок 88.00:07:00
    Configuring Axios
  89. Урок 89.00:10:38
    Making the Request
  90. Урок 90.00:07:31
    Error Handling
  91. Урок 91.00:06:19
    Running an Initial Search
  92. Урок 92.00:04:15
    The UseEffect Hook
  93. Урок 93.00:07:35
    Extracting Hook Logic
  94. Урок 94.00:05:58
    Showing Search Results
  95. Урок 95.00:07:11
    Grouping Results
  96. Урок 96.00:03:59
    FlatList Rendering
  97. Урок 97.00:04:28
    Showing a Single Result
  98. Урок 98.00:05:43
    Showing Additional Info
  99. Урок 99.00:07:01
    A Few More Styling Issues
  100. Урок 100.00:02:39
    Hiding Scroll Bars
  101. Урок 101.00:02:58
    Constraining View Elements
  102. Урок 102.00:02:40
    Empty Elements
  103. Урок 103.00:01:41
    Spacing on the Search Bar
  104. Урок 104.00:04:49
    Reminder on Navigation
  105. Урок 105.00:03:19
    Navigating from a Child Component
  106. Урок 106.00:03:25
    The WithNavigation Helper
  107. Урок 107.00:03:45
    Communicating Between Screens
  108. Урок 108.00:05:55
    Fetching a Single Restaurant
  109. Урок 109.00:04:13
    Showing a List of Images
  110. Урок 110.00:02:22
    One Last Fix
  111. Урок 111.00:03:10
    App Overview
  112. Урок 112.00:05:46
    Issues with Data
  113. Урок 113.00:05:20
    Initial Setup
  114. Урок 114.00:02:42
    Wrapping the Navigator
  115. Урок 115.00:02:20
    Introduction to Context
  116. Урок 116.00:06:00
    Adding Context
  117. Урок 117.00:06:05
    Moving Data with Context
  118. Урок 118.00:03:56
    Rendering a List of Posts
  119. Урок 119.00:07:55
    Adding State in Context
  120. Урок 120.00:04:06
    It Works!
  121. Урок 121.00:02:12
    Opportunity for Improvement
  122. Урок 122.00:09:33
    Updating with UseReducer
  123. Урок 123.00:12:13
    Automating Context Creation
  124. Урок 124.00:09:13
    More Automatic Context Creation
  125. Урок 125.00:07:18
    A Bit of Styling
  126. Урок 126.00:03:47
    Deleting Posts
  127. Урок 127.00:05:53
    Updating the Reducer
  128. Урок 128.00:05:01
    Navigation on Tap
  129. Урок 129.00:05:01
    Retrieving Single Posts
  130. Урок 130.00:02:16
    Adding a Creation Screen
  131. Урок 131.00:04:59
    Header Navigation
  132. Урок 132.00:06:52
    Displaying a Form
  133. Урок 133.00:04:42
    Saving a New Post
  134. Урок 134.00:06:20
    Navigation on Save
  135. Урок 135.00:04:50
    The Edit Icon Link
  136. Урок 136.00:06:16
    Communicating Info to Edit
  137. Урок 137.00:05:39
    Initializing State from Context
  138. Урок 138.00:09:06
    Extracting Form Logic
  139. Урок 139.00:04:25
    Customizing OnSubmit
  140. Урок 140.00:05:00
    Initial Form Values
  141. Урок 141.00:02:29
    Default Props
  142. Урок 142.00:05:00
    Editing Action Function
  143. Урок 143.00:03:39
    Editing in a Reducer
  144. Урок 144.00:04:16
    Navigating Backwards
  145. Урок 145.00:02:10
    Outside Data API
  146. Урок 146.00:03:13
    Issues with Servers + React Native
  147. Урок 147.00:06:44
    JSON Server and Ngrok Setup
  148. Урок 148.00:03:49
    JSON Server REST Conventions
  149. Урок 149.00:10:17
    Making a Request
  150. Урок 150.00:05:56
    Remote Fetch of Posts
  151. Урок 151.00:03:54
    Creating Posts with Post Requests
  152. Урок 152.00:06:00
    Refetching on Navigate
  153. Урок 153.00:02:34
    Deleting a Post
  154. Урок 154.00:01:39
    Editing Posts
  155. Урок 155.00:03:22
    App Wrapup
  156. Урок 156.00:04:31
    App Overview
  157. Урок 157.00:02:07
    Dependencies Setup
  158. Урок 158.00:03:45
    The Basics of Express
  159. Урок 159.00:03:38
    MongoDB Setup
  160. Урок 160.00:06:37
    Connecting to MongoDB
  161. Урок 161.00:01:19
    Nodemon for Automatic Restarts
  162. Урок 162.00:05:32
    Understanding the Signup Process
  163. Урок 163.00:02:47
    Using Postman
  164. Урок 164.00:05:26
    Handling JSON Data
  165. Урок 165.00:07:10
    Defining a User Schema
  166. Урок 166.00:04:38
    Creating and Saving a User
  167. Урок 167.00:05:44
    Error Handling
  168. Урок 168.00:07:13
    JSON Web Tokens
  169. Урок 169.00:02:49
    Creating a JWT
  170. Урок 170.00:13:01
    Wiring Up JSON Web Tokens
  171. Урок 171.00:08:19
    Understanding Password Hashing
  172. Урок 172.00:08:36
    Salting and Hashing
  173. Урок 173.00:06:43
    The Signin Route
  174. Урок 174.00:03:24
    Testing Signup and Signin
  175. Урок 175.00:07:00
    Defining Tracks
  176. Урок 176.00:07:48
    Listing Tracks
  177. Урок 177.00:10:01
    Creating Tracks
  178. Урок 178.00:08:26
    Server Setup
  179. Урок 179.00:11:15
    Navigation Design
  180. Урок 180.00:07:25
    A LOT of Boilerplate
  181. Урок 181.00:07:45
    Navigator Hookup
  182. Урок 182.00:06:29
    Testing the Navigation Flow
  183. Урок 183.00:05:20
    React Native Elements
  184. Урок 184.00:09:00
    Helper Styling Components
  185. Урок 185.00:06:40
    Styling Odds and Ends
  186. Урок 186.00:04:40
    Input Props
  187. Урок 187.00:10:44
    The Auth Context
  188. Урок 188.00:07:37
    What's the Context Doing?
  189. Урок 189.00:05:32
    Axios Setup
  190. Урок 190.00:09:45
    Making an API Request
  191. Урок 191.00:07:44
    Handling Errored Requests
  192. Урок 192.00:04:23
    Async Storage
  193. Урок 193.00:06:32
    Storing the Token
  194. Урок 194.00:13:11
    Navigation From Outside of React
  195. Урок 195.00:00:51
    Oops, Typo
  196. Урок 196.00:03:38
    Navigation to Signin
  197. Урок 197.00:09:46
    Extracting Form Logic
  198. Урок 198.00:04:32
    Last Bit of Extracting
  199. Урок 199.00:06:57
    Creating a NavLink
  200. Урок 200.00:05:10
    Real Component Reuse!
  201. Урок 201.00:08:03
    Wiring Up Signin
  202. Урок 202.00:11:05
    Clearing Error Messages
  203. Урок 203.00:05:37
    Automatic Signin
  204. Урок 204.00:07:23
    Empty Screens While Resolving Auth
  205. Урок 205.00:07:02
    Signing Out a User
  206. Урок 206.00:02:11
    Safe Area Views
  207. Урок 207.00:05:04
    Working on Track Create
  208. Урок 208.00:04:59
    Showing a Map
  209. Урок 209.00:04:38
    Drawing a Series of Points
  210. Урок 210.00:04:14
    Notes on Location
  211. Урок 211.00:06:40
    Requesting Location Permissions
  212. Урок 212.00:04:23
    Resetting Permissions
  213. Урок 213.00:03:46
    How to Test Location?
  214. Урок 214.00:06:09
    Faking the Users Location
  215. Урок 215.00:04:06
    Reading a Location
  216. Урок 216.00:03:20
    Bugginess with Location
  217. Урок 217.00:03:53
    Location Architecture
  218. Урок 218.00:04:21
    Location Context
  219. Урок 219.00:13:48
    Live Location Updates
  220. Урок 220.00:04:10
    Drawing a Position Indicator
  221. Урок 221.00:08:28
    Extracting Logic to a Hook
  222. Урок 222.00:04:19
    Disabling Location Tracking
  223. Урок 223.00:08:30
    Automatic Disables
  224. Урок 224.00:03:50
    Building a Track Form
  225. Урок 225.00:08:42
    Updates to Location Context
  226. Урок 226.00:05:50
    Track Form Wire Up
  227. Урок 227.00:08:31
    Buggy UseEffects
  228. Урок 228.00:12:43
    Understanding Stale References
  229. Урок 229.00:06:58
    Kind of Fixed
  230. Урок 230.00:07:07
    The UseCallback Hook
  231. Урок 231.00:06:05
    Cleaning Up After Ourselves
  232. Урок 232.00:07:16
    Avoiding Stale References
  233. Урок 233.00:02:19
    Tracking While Recording
  234. Урок 234.00:03:39
    Bring Back the Polyline
  235. Урок 235.00:07:55
    What Manages Tracks
  236. Урок 236.00:07:43
    Coordination Between Contexts
  237. Урок 237.00:10:27
    Automatic Authentication
  238. Урок 238.00:07:25
    Form Reset and Navigation
  239. Урок 239.00:02:07
    Fetching Created Tracks
  240. Урок 240.00:07:26
    Listing All Tracks
  241. Урок 241.00:05:10
    Navigating to a Saved Track
  242. Урок 242.00:05:22
    Showing Track Details
  243. Урок 243.00:08:48
    Fixing Odds and Ends
  244. Урок 244.00:06:03
    OSX Installation
  245. Урок 245.00:05:26
    More on OSX Installation
  246. Урок 246.00:02:13
    Running in the Simulator
  247. Урок 247.00:06:32
    Windows Setup of React Native
  248. Урок 248.00:05:13
    Android Studio and React Native CLI Installation
  249. Урок 249.00:14:57
    Emulator Creation and System Variables
  250. Урок 250.00:03:38
    ESLint Setup with VSCode
  251. Урок 251.00:02:17
    Project Directory Walkthrough
  252. Урок 252.00:03:18
    Getting Content on the Screen
  253. Урок 253.00:03:12
    React vs React Native
  254. Урок 254.00:06:16
    Creating a Component with JSX
  255. Урок 255.00:03:46
    Registering a Component
  256. Урок 256.00:05:26
    Destructuring Imports
  257. Урок 257.00:04:48
    Application Outline
  258. Урок 258.00:08:30
    The Header Component
  259. Урок 259.00:06:51
    Consuming File Exports
  260. Урок 260.00:04:34
    Styling with React Native
  261. Урок 261.00:04:52
    More on Styling Components
  262. Урок 262.00:05:25
    Introduction to Flexbox
  263. Урок 263.00:04:24
    Header Styling
  264. Урок 264.00:07:19
    Making the Header Reusable
  265. Урок 265.00:04:52
    Sourcing Album Data
  266. Урок 266.00:06:08
    List Component Boilerplate
  267. Урок 267.00:07:26
    Class Based Components
  268. Урок 268.00:06:41
    Lifecycle Methods
  269. Урок 269.00:08:12
    Network Requests
  270. Урок 270.00:08:58
    Component Level State
  271. Урок 271.00:06:54
    More on Component Level State
  272. Урок 272.00:05:56
    Rendering a List of Components
  273. Урок 273.00:09:31
    Displaying Individual Albums
  274. Урок 274.00:05:26
    Fantastic Reusable Components - The Card
  275. Урок 275.00:06:06
    Styling a Card
  276. Урок 276.00:04:13
    Passing Components as Props
  277. Урок 277.00:08:24
    Dividing Cards into Sections
  278. Урок 278.00:05:13
    Mastering Layout with Flexbox
  279. Урок 279.00:05:21
    Positioning of Elements on Mobile
  280. Урок 280.00:04:28
    More on Styling
  281. Урок 281.00:07:36
    Images with React Native
  282. Урок 282.00:08:41
    Displaying Album Artwork
  283. Урок 283.00:04:31
    Making Content Scrollable
  284. Урок 284.00:07:52
    Handling User Input with Buttons
  285. Урок 285.00:05:29
    Styling of Buttons with UX Considerations
  286. Урок 286.00:07:19
    Responding to User Input
  287. Урок 287.00:04:21
    Linking Between Mobile Apps
  288. Урок 288.00:02:30
    Setting Button Text by Props
  289. Урок 289.00:03:08
    App Wrapup
  290. Урок 290.00:04:46
    Auth App Introduction
  291. Урок 291.00:04:28
    A Common Root Component
  292. Урок 292.00:11:22
    Copying Reusable Components
  293. Урок 293.00:05:18
    What is Firebase?
  294. Урок 294.00:04:48
    Firebase Client Setup
  295. Урок 295.00:06:11
    Login Form Scaffolding
  296. Урок 296.00:03:21
    Handling User Inputs
  297. Урок 297.00:03:19
    More on Handling User Inputs
  298. Урок 298.00:04:31
    How to Create Controlled Components
  299. Урок 299.00:04:15
    Making Text Inputs From Scratch
  300. Урок 300.00:05:02
    A Focus on Passing Props
  301. Урок 301.00:06:01
    Making the Input Pretty
  302. Урок 302.00:07:16
    Wrapping up Inputs
  303. Урок 303.00:08:36
    Password Inputs
  304. Урок 304.00:05:36
    Logging a User In
  305. Урок 305.00:07:19
    Error Handling
  306. Урок 306.00:07:31
    More on Authentication Flow
  307. Урок 307.00:05:00
    Creating an Activity Spinner
  308. Урок 308.00:06:41
    Conditional Rendering of JSX
  309. Урок 309.00:08:29
    Clearing the Form Spinner
  310. Урок 310.00:06:10
    Handling Authentication Events
  311. Урок 311.00:07:20
    More on Conditional Rendering
  312. Урок 312.00:05:31
    Logging a User Out and Wrapup
  313. Урок 313.00:03:56
    App Mockup and Approach
  314. Урок 314.00:08:31
    The Basics of Redux
  315. Урок 315.00:07:38
    More on Redux
  316. Урок 316.00:11:41
    Redux is Hard!
  317. Урок 317.00:02:36
    Application Boilerplate
  318. Урок 318.00:08:15
    More on Redux Boilerplate
  319. Урок 319.00:05:32
    Rendering the Header
  320. Урок 320.00:06:46
    Reducer and State Design
  321. Урок 321.00:07:32
    Library List of Data
  322. Урок 322.00:10:07
    The Connect Function
  323. Урок 323.00:07:32
    MapStateToProps with Connect
  324. Урок 324.00:05:35
    A Quick Review and Breather
  325. Урок 325.00:07:12
    The Theory of ListView
  326. Урок 326.00:03:37
    ListView in Practice
  327. Урок 327.00:02:00
    Rendering a Single Row
  328. Урок 328.00:06:32
    Styling the List
  329. Урок 329.00:04:43
    Creating the Selection Reducer
  330. Урок 330.00:05:48
    Introducing Action Creators
  331. Урок 331.00:08:57
    Calling Action Creators
  332. Урок 332.00:06:57
    Adding a Touchable
  333. Урок 333.00:05:17
    Rules of Reducers
  334. Урок 334.00:05:13
    Expanding a Row
  335. Урок 335.00:06:24
    Moving Logic Out of Components
  336. Урок 336.00:07:03
    Animations
  337. Урок 337.00:05:07
    Wrapup
  338. Урок 338.00:04:41
    Overview of Our Next App
  339. Урок 339.00:05:09
    App Challenges
  340. Урок 340.00:06:23
    Just a Touch More Setup
  341. Урок 341.00:07:03
    More on Boilerplate Setup
  342. Урок 342.00:07:01
    Login Form in a Redux World
  343. Урок 343.00:06:20
    Rebuilding the Login Form
  344. Урок 344.00:08:43
    Handling Form Updates with Action Creators
  345. Урок 345.00:08:02
    Wiring up Action Creators
  346. Урок 346.00:08:48
    Typed Actions
  347. Урок 347.00:08:40
    Immutable State
  348. Урок 348.00:07:09
    Creating Immutable State
  349. Урок 349.00:07:46
    More on Creating Immutable State
  350. Урок 350.00:08:02
    Synchronous vs Asynchronous Action Creators
  351. Урок 351.00:06:30
    Introduction to Redux Thunk
  352. Урок 352.00:05:39
    Redux Thunk in Practice
  353. Урок 353.00:07:50
    Redux Thunk in Practice Continued
  354. Урок 354.00:03:28
    Making LoginUser More Robust
  355. Урок 355.00:07:24
    Creating User Accounts
  356. Урок 356.00:06:46
    Showing Error Messages
  357. Урок 357.00:06:46
    A Firebase Gotcha
  358. Урок 358.00:11:58
    Showing a Spinner on Loading
  359. Урок 359.00:08:20
    Dealing with Navigation
  360. Урок 360.00:04:54
    Navigation in the Router
  361. Урок 361.00:04:42
    Addressing Styling Issues
  362. Урок 362.00:05:42
    Displaying Multiple Scenes
  363. Урок 363.00:03:41
    Navigating Between Routes
  364. Урок 364.00:07:20
    Grouping Scenes with Buckets
  365. Урок 365.00:03:18
    Navigation Bar Buttons
  366. Урок 366.00:06:02
    Navigating to the Employee Creation Form
  367. Урок 367.00:05:15
    Building the Employee Creation Form
  368. Урок 368.00:07:01
    Employee Form Actions
  369. Урок 369.00:06:15
    Handling Form Updates at the Reducer Level
  370. Урок 370.00:08:49
    Dynamic Property Updates
  371. Урок 371.00:07:43
    The Picker Component
  372. Урок 372.00:07:01
    Pickers and Style Overrides
  373. Урок 373.00:06:37
    Firebase JSON Schema
  374. Урок 374.00:05:55
    Data Security in Firebase
  375. Урок 375.00:05:44
    Creating Records with Firebase
  376. Урок 376.00:05:49
    Default Form Values
  377. Урок 377.00:07:50
    Successful Data Save to Firebase
  378. Урок 378.00:09:49
    Resetting Form Properties
  379. Урок 379.00:08:17
    Fetching Data from Firebase
  380. Урок 380.00:08:59
    Storing Data by ID
  381. Урок 381.00:08:02
    Dynamic DataSource Building
  382. Урок 382.00:07:08
    Transforming Objects to Arrays
  383. Урок 383.00:06:26
    List Building in Employee List
  384. Урок 384.00:06:57
    Reusing the Employee Form
  385. Урок 385.00:06:54
    Create vs Edit Forms
  386. Урок 386.00:09:07
    Reusable Forms
  387. Урок 387.00:03:28
    A Standalone Employee Edit Form
  388. Урок 388.00:09:14
    Initializing Forms from State
  389. Урок 389.00:07:16
    Updating Firebase Records
  390. Урок 390.00:05:18
    Clearing Form Attributes
  391. Урок 391.00:04:43
    Texting Employees
  392. Урок 392.00:07:15
    Modals as a Reusable Component
  393. Урок 393.00:08:12
    The Modal Component Continued
  394. Урок 394.00:09:27
    Styling the Modal
  395. Урок 395.00:08:31
    Employee Delete Action Creator
  396. Урок 396.00:04:20
    Wiring up Employee Delete