The Complete React Native + Hooks Course [2020 Edition]
The Complete React Native + Hooks Course [2020 Edition]

Understand React Native v0.62.2 with Hooks, Context, and React Navigation.

Created by Stephen Grider
Language English

The Complete React Native + Hooks Course [2020 Edition]

The Complete React Native + Hooks Course [2020 Edition]
The Complete React Native + Hooks Course [2020 Edition]

Understand React Native v0.62.2 with Hooks, Context, and React Navigation.

Created by Stephen Grider
Language English
1. Getting Started
  • 1. How to Get Help 00:00:52
  • 2. Course Resources .html
  • 3. Join Our Community .html
  • 4. Course Overview 00:03:19
  • 5. Boilerplate Download .html
  • 5.1 rn-starter .zip
  • 6. Detailed Installation Instructions for macOS .html
  • 7. Detailed Installation Instructions for Windows .html
  • 8. App Setup 00:08:44
  • 9. Making Changes 00:04:09
  • 10. Using iOS and Android Simulators .html
2. Working with Content
  • 1. Overview of React Components 00:08:50
  • 2. Showing a Custom Component 00:04:08
  • 2.1 12-showing-custom .zip
  • 3. Common Questions and Answers 00:07:08
  • 4. Rules of JSX 00:05:50
  • 5. One Common Error 00:01:45
  • 6. JSX Exercise Overview 00:01:46
  • 7. JSX Solution 00:02:40
  • 7.1 17-jsx .zip
3. List Building - With Style
  • 1. Building Lists 00:02:24
  • 2. The FlatList Element 00:02:24
  • 3. Rendering a FlatList 00:05:12
  • 4. Why a Key Property 00:04:11
  • 5. Solving the Key Issue 00:05:18
  • 6. A Few Props Around FlatList 00:04:57
  • 7. Exercise Overview 00:00:53
  • 8. Exercise Solution 00:02:14
  • 8.1 25-exercise .zip
4. Navigating Users Between Screens
  • 1. Button Types 00:03:44
  • 2. Buttons in Action 00:05:20
  • 3. Touchable Opacity in Action 00:04:18
  • 4. Navigating with React Navigation 00:06:46
  • 5. Destructuring Props 00:04:03
  • 5.1 30-destructuring .zip
5. Building Reusable Components
  • 1. Component Reuse with Props 00:03:35
  • 2. Exercise Solution 00:01:49
  • 3. Parent-Child Relationships 00:05:07
  • 4. Communicating from Parent to Child 00:05:44
  • 5. Images Download .html
  • 5.1 images .zip
  • 6. Showing Images 00:04:07
  • 7. Passing Images as Props 00:04:14
  • 8. Exercise Outline 00:00:47
  • 9. Exercise Solution 00:02:26
  • 9.1 39-exercise .zip
6. State Management in React Components
  • 1. State in Components 00:05:35
  • 2. Screen Boilerplate 00:03:14
  • 3. State in Action 00:09:45
  • 4. Notes on State 00:06:59
  • 5. App Overview 00:05:06
  • 6. Generating Random Colors 00:04:27
  • 7. Adding Random Colors 00:04:48
  • 8. Showing Colors with a FlatList 00:03:33
  • 8.1 47-showing-colors .zip
  • 9. App Overview 00:04:43
  • 10. Reusable Color Adjusters 00:06:14
  • 11. Coordinating State 00:05:31
  • 12. Passing Callbacks to Children 00:06:21
  • 13. Tying State Values Together 00:07:16
  • 14. Validating State Changes 00:07:56
  • 15. Reusable State Updates 00:07:34
  • 16. Introduction to Reducers 00:08:39
  • 17. Creating a Reducer 00:15:00
  • 18. Applying State with a Reducer 00:08:55
  • 19. Restoring Validation 00:07:00
  • 20. Community Convention in Reducers 00:06:49
  • 21. Exercise Outline 00:01:16
  • 22. Exercise Solution 00:10:56
  • 22.1 61-exercise .zip
  • 23. Handling Text Input 00:03:22
  • 24. Showing a Text Input 00:03:28
  • 25. Two Important Props 00:04:16
  • 26. Weird Things with Text and State 00:06:11
  • 27. Updating State 00:04:52
  • 28. Exercise Outline 00:02:28
  • 29. Exercise Solution 00:02:34
  • 29.1 68-exercise .zip
7. How to Handle Screen Layout
  • 1. Layout with React Native 00:03:49
  • 2. Basics of Box Object Model 00:05:55
  • 3. AlignItems with Flex 00:04:34
  • 4. Flex Direction 00:03:47
  • 5. Justify Content 00:02:56
  • 6. Flex Values 00:05:08
  • 7. Align Self on Children 00:02:24
  • 8. The Position Property 00:02:33
  • 9. Top Bottom Left Right 00:03:01
  • 10. Absolute Fill Objects 00:02:46
  • 11. Applying Layout Systems 00:01:52
  • 12. Exercise Overview 00:01:13
  • 13. Exercise Solution 00:06:18
  • 13.1 81-exercise .zip
8. Putting It All Together - Restaurant Search App
  • 1. App Overview 00:01:36
  • 2. Important Note About Project Generation .html
  • 3. Project Generation 00:02:40
  • 3.1 84-project-generation .zip
  • 4. Yelp API Workarounds .html
  • 5. Yelp Signup 00:04:40
  • 6. Yelp Walkthrough 00:04:16
  • 7. React Navigation 00:03:06
  • 8. React Navigation Fix .html
  • 8.1 food-boilerplate .zip
  • 9. Assembling a Navigator 00:06:58
  • 9.1 90-assembling .zip
  • 10. Architecture Approach 00:02:47
  • 11. Starting the SearchBar 00:04:11
  • 12. Displaying Icons 00:05:48
  • 13. Search Bar Styling 00:04:08
  • 14. A Touch More Styling 00:03:52
  • 15. Managing State 00:06:42
  • 15.1 96-managing-state .zip
  • 16. Detecting Editing Completion 00:04:04
  • 16.1 97-detecting .zip
9. Using Outside APIs
  • 1. Configuring Axios 00:06:58
  • 2. Making the Request 00:10:37
  • 2.1 99-making-request .zip
  • 3. Error Handling 00:07:30
  • 3.1 100-error-handling .zip
  • 4. Running an Initial Search 00:06:18
10. Making Hooks Reusable
  • 1. Incorrect Hook Name in Slide .html
  • 2. The UseEffect Hook 00:04:14
  • 2.1 103-useEffect .zip
  • 3. Extracting Hook Logic 00:07:34
  • 3.1 104-extracting .zip
  • 4. Showing Search Results 00:05:57
  • 4.1 105-showing-results .zip
  • 5. Grouping Results 00:07:10
  • 5.1 106-grouping .zip
  • 6. FlatList Rendering 00:03:58
  • 6.1 107-flatlist .zip
11. Navigation with Parameters
  • 1. Showing a Single Result 00:04:26
  • 2. Showing Additional Info 00:05:42
  • 2.1 109-showing-additional .zip
  • 3. A Few More Styling Issues 00:07:00
  • 4. Hiding Scroll Bars 00:02:38
  • 5. Constraining View Elements 00:02:57
  • 6. Empty Elements 00:02:38
  • 7. Spacing on the Search Bar 00:01:40
  • 7.1 114-spacing .zip
  • 8. Reminder on Navigation 00:04:48
  • 9. Navigating from a Child Component 00:03:18
  • 9.1 116-navigating .zip
  • 10. The WithNavigation Helper 00:03:24
  • 10.1 117-withNavigation .zip
  • 11. Communicating Between Screens 00:03:44
  • 11.1 118-communicating .zip
  • 12. Fetching a Single Restaurant 00:05:54
  • 12.1 119-fetching .zip
  • 13. Showing a List of Images 00:04:12
  • 13.1 120-showing .zip
  • 14. One Last Fix 00:02:21
  • 14.1 121-one-last-fix .zip
12. Advanced State Management with Context
  • 1. Important Note About Project Generation .html
  • 2. App Overview 00:03:09
  • 3. Issues with Data 00:05:45
  • 4. React Navigation Fix .html
  • 4.1 blog-boilerplate .zip
  • 5. Initial Setup 00:05:20
  • 5.1 126-initial .zip
  • 6. Wrapping the Navigator 00:02:41
  • 6.1 127-wrapping .zip
  • 7. Introduction to Context 00:02:19
  • 8. Adding Context 00:06:00
  • 8.1 129-adding-context .zip
  • 9. Moving Data with Context 00:06:04
  • 9.1 130-moving-data .zip
  • 10. Rendering a List of Posts 00:03:55
  • 10.1 131-rendering .zip
  • 11. Adding State in Context 00:07:54
  • 12. It Works 00:04:05
  • 12.1 133-it-works .zip
  • 13. Opportunity for Improvement 00:02:11
  • 14. Updating with UseReducer 00:09:32
  • 14.1 135-updating-useReducer .zip
  • 15. Automating Context Creation 00:12:12
  • 16. More Automatic Context Creation 00:09:12
  • 16.1 137-more-context-creation .zip
  • 17. A Bit of Styling 00:07:17
  • 17.1 138-styling .zip
  • 18. Deleting Posts 00:03:46
  • 19. Updating the Reducer 00:05:52
  • 19.1 140-updating-reducer .zip
  • 20. Navigation on Tap 00:05:00
  • 20.1 141-navigation .zip
  • 21. Retrieving Single Posts 00:05:00
  • 21.1 142-retrieving .zip
  • 22. Adding a Creation Screen 00:02:15
  • 23. headerRight Deprecation in navigationOptions .html
  • 24. Header Navigation 00:04:57
  • 24.1 145-header-navigation .zip
  • 25. Displaying a Form 00:06:51
  • 25.1 146-diplaying-form .zip
  • 26. Saving a New Post 00:04:41
  • 26.1 147-saving .zip
  • 27. Navigation on Save 00:06:19
  • 27.1 148-navigation-on-save .zip
  • 28. headerRight Deprecation in navigationOptions .html
  • 29. The Edit Icon Link 00:04:49
  • 29.1 150-edit .zip
  • 30. Communicating Info to Edit 00:06:15
  • 30.1 151-communicating-info .zip
  • 31. Initializing State from Context 00:05:38
  • 31.1 152-initializing .zip
  • 32. Extracting Form Logic 00:09:05
  • 33. Customizing OnSubmit 00:04:24
  • 33.1 154-customizing .zip
  • 34. Initial Form Values 00:04:59
  • 35. Default Props 00:02:28
  • 35.1 156-default .zip
  • 36. Editing Action Function 00:04:58
  • 37. Editing in a Reducer 00:03:38
  • 37.1 158-editing-reducer .zip
  • 38. Navigating Backwards 00:04:15
  • 38.1 159-navigating-backwards .zip
13. Data API Sync
  • 1. Outside Data API 00:02:09
  • 2. Issues with Servers React Native 00:03:12
  • 3. JSON Server and Ngrok Setup 00:06:43
  • 3.1 162-json-server .zip
  • 4. JSON Server REST Conventions 00:03:48
  • 5. Making a Request 00:10:16
  • 5.1 164-making-request .zip
  • 6. Remote Fetch of Posts 00:05:55
  • 6.1 165-remote-fetch .zip
  • 7. Creating Posts with Post Requests 00:03:53
  • 7.1 166-creating-posts .zip
  • 8. Refetching on Navigate 00:05:59
  • 8.1 167-refetching .zip
  • 9. Deleting a Post 00:02:33
  • 9.1 168-deleting .zip
  • 10. Editing Posts 00:01:38
  • 10.1 169-editing .zip
  • 11. App Wrapup 00:03:21
14. Building a Custom Express API
  • 1. App Overview 00:04:30
  • 2. Dependencies Setup 00:02:06
  • 3. The Basics of Express 00:03:44
  • 4. MongoDB Setup 00:03:37
  • 5. Connecting to MongoDB 00:06:37
  • 6. Nodemon for Automatic Restarts 00:01:18
  • 7. Understanding the Signup Process 00:05:31
  • 8. Using Postman 00:02:46
  • 9. Handling JSON Data 00:05:25
  • 10. Defining a User Schema 00:07:09
  • 11. Creating and Saving a User 00:04:37
  • 12. Error Handling 00:05:43
  • 13. JSON Web Tokens 00:07:12
  • 14. Creating a JWT 00:02:48
  • 15. Wiring Up JSON Web Tokens 00:13:00
  • 16. Understanding Password Hashing 00:08:18
  • 17. Salting and Hashing 00:08:35
  • 18. The Signin Route 00:06:42
  • 19. Testing Signup and Signin 00:03:23
  • 20. Defining Tracks 00:06:59
  • 21. Listing Tracks 00:07:47
  • 22. Creating Tracks 00:10:00
15. In-App Authentication
  • 1. Server Code .html
  • 1.1 track-server .zip
  • 2. Server Setup 00:08:25
  • 3. Important Note About Project Generation .html
  • 4. Navigation Design 00:11:14
  • 5. React Navigation Fix .html
  • 5.1 tracks-boilerplate .zip
  • 6. A LOT of Boilerplate 00:07:24
  • 7. Navigator Hookup 00:07:45
  • 7.1 199-navigator-hookup .zip
  • 8. Testing the Navigation Flow 00:06:28
  • 8.1 200-testing .zip
  • 9. React Native Elements 00:05:19
  • 10. Helper Styling Components 00:08:58
  • 10.1 202-helper .zip
  • 11. navigationOptions Deprecation Warning .html
  • 12. Styling Odds and Ends 00:06:39
  • 12.1 204-styling-odds .zip
  • 13. Input Props 00:04:39
  • 13.1 205-input .zip
  • 14. The Auth Context 00:10:43
  • 14.1 206-auth-context .zip
  • 15. Whats the Context Doing 00:07:36
  • 16. Axios Setup 00:05:31
  • 16.1 208-axios .zip
  • 17. Making an API Request 00:09:44
  • 17.1 209-making-request .zip
  • 18. Handling Errored Requests 00:07:43
  • 18.1 210-handling-errors .zip
  • 19. Async Storage 00:04:22
  • 20. Async Storage Update .html
  • 21. Storing the Token 00:06:31
  • 22. Navigation From Outside of React 00:13:09
  • 23. Oops Typo 00:00:50
  • 23.1 215-typo .zip
  • 24. Navigation to Signin 00:03:37
  • 25. Extracting Form Logic 00:09:45
  • 26. Last Bit of Extracting 00:04:31
  • 26.1 218-last-bit .zip
  • 27. Creating a NavLink 00:06:56
  • 27.1 219-navlink .zip
  • 28. navigationOptions Deprecation .html
  • 29. Real Component Reuse 00:05:08
  • 30. Wiring Up Signin 00:08:02
  • 30.1 222-wiring-up .zip
  • 31. onWillFocus vs onWillBlur Update .html
  • 32. Clearing Error Messages 00:11:04
  • 32.1 224-clearing .zip
  • 33. Automatic Signin 00:05:36
  • 33.1 225-automatic .zip
  • 34. Empty Screens While Resolving Auth 00:07:22
  • 34.1 226-empty-screens .zip
  • 35. Signing Out a User 00:07:01
  • 35.1 227-signing-out .zip
  • 36. Safe Area Views 00:02:10
  • 36.1 228-safe-area .zip
  • 37. Working on Track Create 00:05:03
  • 38. Installing React Native Maps .html
  • 39. Showing a Map 00:04:58
  • 39.1 231-showing-map .zip
  • 40. Drawing a Series of Points 00:04:37
  • 40.1 232-drawing-points .zip
  • 41. Notes on Location 00:04:13
  • 42. Fix for Missing Location Request Error .html
  • 43. Requesting Location Permissions 00:06:39
  • 43.1 235-requesting-location .zip
  • 44. Resetting Permissions 00:04:22
  • 45. How to Test Location 00:03:45
  • 46. Faking the Users Location 00:06:08
  • 46.1 238-faking .zip
  • 47. Reading a Location 00:04:05
  • 47.1 232-reading-location .zip
  • 48. Bugginess with Location 00:03:19
  • 49. Location Architecture 00:03:52
  • 50. Location Context 00:04:20
  • 50.1 242-location .zip
  • 51. Live Location Updates 00:13:47
  • 51.1 243-live-location .zip
  • 52. Fix for Indicator not Tracking Map .html
  • 53. Drawing a Position Indicator 00:04:08
  • 53.1 245-drawing-position .zip
  • 54. Extracting Logic to a Hook 00:08:27
  • 54.1 246-extracting .zip
  • 55. Disabling Location Tracking 00:04:18
  • 55.1 247-disabling .zip
  • 56. Automatic Disables 00:08:29
  • 56.1 248-automatic-disables .zip
  • 57. Building a Track Form 00:03:49
  • 57.1 249-building-track-form .zip
  • 58. Updates to Location Context 00:08:41
  • 58.1 250-updates-location .zip
  • 59. Track Form Wire Up 00:05:49
  • 59.1 251-track-form-wireup .zip
  • 60. Buggy UseEffects 00:08:30
  • 61. Understanding Stale References 00:12:42
  • 62. Some Errors You May See .html
  • 63. Kind of Fixed 00:06:57
  • 64. The UseCallback Hook 00:07:06
  • 64.1 256-useCallback .zip
  • 65. Cleaning Up After Ourselves 00:06:04
  • 65.1 257-cleaning-up .zip
  • 66. Avoiding Stale References 00:07:15
  • 66.1 258-avoiding-stale .zip
  • 67. Tracking While Recording 00:02:18
  • 67.1 259-tracking-while-recording .zip
  • 68. Bring Back the Polyline 00:03:38
  • 68.1 260-polyline .zip
  • 69. What Manages Tracks 00:07:54
  • 69.1 261-what-manages-tracks .zip
  • 70. Coordination Between Contexts 00:07:42
  • 70.1 262-coordination .zip
  • 71. Async Storage Update .html
  • 72. Automatic Authentication 00:10:26
  • 73. Form Reset and Navigation 00:07:24
  • 73.1 265-form-reset .zip
  • 74. Fetching Created Tracks 00:02:06
  • 74.1 266-fetching .zip
  • 75. ListItem Update .html
  • 76. Listing All Tracks 00:07:25
  • 76.1 268-listing .zip
  • 77. Navigating to a Saved Track 00:05:09
  • 77.1 269-navigating .zip
  • 78. Showing Track Details 00:05:21
  • 78.1 270-showing .zip
  • 79. Fixing Odds and Ends 00:08:47
  • 79.1 271-fixing .zip
  • 79.2 without-mockLocation .zip
16. Important - Do Not Skip
  • 1. Note on the Following Section .html
17. Working with Old Versions of React Native
  • 1. Important - Do Not Skip .html
  • 2. Finished Code Repository .html
  • 3. OSX Installation 00:06:02
  • 4. More on OSX Installation 00:05:25
  • 5. Running in the Simulator 00:02:12
  • 6. Windows Setup of React Native 00:06:31
  • 7. Android Studio and React Native CLI Installation 00:05:13
  • 8. Emulator Creation and System Variables 00:14:56
  • 9. ESLint Setup with VSCode 00:03:37
  • 10. Troubleshooting React Native Installs .html
  • 11. Project Directory Walkthrough 00:02:16
  • 12. Getting Content on the Screen 00:03:17
  • 13. React vs React Native 00:03:12
  • 14. Creating a Component with JSX 00:06:16
  • 15. Registering a Component 00:03:45
  • 16. Destructuring Imports 00:05:25
  • 17. Application Outline 00:04:47
  • 18. The Header Component 00:08:29
  • 19. Consuming File Exports 00:06:50
  • 20. Styling with React Native 00:04:33
  • 21. More on Styling Components 00:04:52
  • 22. Introduction to Flexbox 00:05:24
  • 23. Header Styling 00:04:23
  • 24. Making the Header Reusable 00:07:18
  • 25. Sourcing Album Data 00:04:51
  • 26. List Component Boilerplate 00:06:07
  • 27. Class Based Components 00:07:26
  • 28. Lifecycle Methods 00:06:40
  • 29. Quick Note On Axios .html
  • 30. Network Requests 00:08:11
  • 31. Component Level State 00:08:57
  • 32. More on Component Level State 00:06:54
  • 33. Rendering a List of Components 00:05:55
  • 34. Displaying Individual Albums 00:09:30
  • 35. Fantastic Reusable Components - The Card 00:05:25
  • 36. Styling a Card 00:06:05
  • 37. Passing Components as Props 00:04:12
  • 38. Dividing Cards into Sections 00:08:23
  • 39. Mastering Layout with Flexbox 00:05:12
  • 40. Positioning of Elements on Mobile 00:05:20
  • 41. More on Styling 00:04:27
  • 42. Images with React Native 00:07:36
  • 43. Displaying Album Artwork 00:08:40
  • 44. Making Content Scrollable 00:04:30
  • 45. Handling User Input with Buttons 00:07:51
  • 46. Styling of Buttons with UX Considerations 00:05:28
  • 47. Responding to User Input 00:07:18
  • 48. Linking Between Mobile Apps 00:04:21
  • 49. Setting Button Text by Props 00:02:29
  • 50. App Wrapup 00:03:07
  • 51. Auth App Introduction 00:04:45
  • 52. A Common Root Component 00:04:27
  • 53. Copying Reusable Components 00:11:22
  • 54. What is Firebase 00:05:17
  • 55. Firebase Client Setup 00:04:47
  • 56. Login Form Scaffolding 00:06:10
  • 57. Handling User Inputs 00:03:20
  • 58. More on Handling User Inputs 00:03:18
  • 59. How to Create Controlled Components 00:04:30
  • 60. Making Text Inputs From Scratch 00:04:14
  • 61. A Focus on Passing Props 00:05:01
  • 62. Making the Input Pretty 00:06:01
  • 63. Wrapping up Inputs 00:07:15
  • 64. Password Inputs 00:08:36
  • 65. Logging a User In 00:05:36
  • 66. Error Handling 00:07:18
  • 67. More on Authentication Flow 00:07:30
  • 68. Creating an Activity Spinner 00:04:59
  • 69. Conditional Rendering of JSX 00:06:40
  • 70. Clearing the Form Spinner 00:08:28
  • 71. Handling Authentication Events 00:06:09
  • 72. More on Conditional Rendering 00:07:19
  • 73. Logging a User Out and Wrapup 00:05:30
  • 74. App Mockup and Approach 00:03:56
  • 75. The Basics of Redux 00:08:30
  • 76. More on Redux 00:07:37
  • 77. Redux is Hard 00:11:40
  • 78. Application Boilerplate 00:02:35
  • 79. More on Redux Boilerplate 00:08:14
  • 80. Rendering the Header 00:05:31
  • 81. Reducer and State Design 00:06:45
  • 82. Library List of Data 00:07:31
  • 83. JSON CopyPaste .html
  • 84. The Connect Function 00:10:06
  • 85. MapStateToProps with Connect 00:07:31
  • 86. A Quick Review and Breather 00:05:34
  • 87. The Theory of ListView 00:07:11
  • 88. ListView in Practice 00:03:36
  • 89. Rendering a Single Row 00:01:59
  • 90. Styling the List 00:06:31
  • 91. Creating the Selection Reducer 00:04:42
  • 92. Introducing Action Creators 00:05:47
  • 93. Calling Action Creators 00:08:56
  • 94. Adding a Touchable 00:06:56
  • 95. Rules of Reducers 00:05:16
  • 96. Expanding a Row 00:05:12
  • 97. Moving Logic Out of Components 00:06:23
  • 98. Animations 00:07:02
  • 99. Wrapup 00:05:06
  • 100. Overview of Our Next App 00:04:40
  • 101. App Challenges 00:05:08
  • 102. Quick Note .html
  • 103. Just a Touch More Setup 00:06:22
  • 104. More on Boilerplate Setup 00:07:03
  • 105. Login Form in a Redux World 00:07:00
  • 106. Rebuilding the Login Form 00:06:19
  • 107. Handling Form Updates with Action Creators 00:08:43
  • 108. Wiring up Action Creators 00:08:01
  • 109. Typed Actions 00:08:47
  • 110. Immutable State 00:08:39
  • 111. Creating Immutable State 00:07:08
  • 112. More on Creating Immutable State 00:07:45
  • 113. Synchronous vs Asynchronous Action Creators 00:08:01
  • 114. Introduction to Redux Thunk 00:06:30
  • 115. Redux Thunk in Practice 00:05:38
  • 116. Redux Thunk in Practice Continued 00:07:49
  • 117. Making LoginUser More Robust 00:03:27
  • 118. Creating User Accounts 00:07:23
  • 119. Showing Error Messages 00:06:45
  • 120. A Firebase Gotcha 00:06:45
  • 121. Showing a Spinner on Loading 00:11:57
  • 122. Dealing with Navigation 00:08:19
  • 123. Navigation in the Router 00:04:53
  • 124. Addressing Styling Issues 00:04:41
  • 125. Displaying Multiple Scenes 00:05:41
  • 126. Navigating Between Routes 00:03:40
  • 127. Grouping Scenes with Buckets 00:07:20
  • 128. Navigation Bar Buttons 00:03:17
  • 129. Navigating to the Employee Creation Form 00:06:01
  • 130. Building the Employee Creation Form 00:05:14
  • 131. Employee Form Actions 00:07:00
  • 132. Handling Form Updates at the Reducer Level 00:06:14
  • 133. Dynamic Property Updates 00:08:48
  • 134. The Picker Component 00:07:42
  • 135. Pickers and Style Overrides 00:07:00
  • 136. Firebase JSON Schema 00:06:36
  • 137. Data Security in Firebase 00:05:54
  • 138. Creating Records with Firebase 00:05:43
  • 139. Default Form Values 00:05:48
  • 140. Successful Data Save to Firebase 00:07:49
  • 141. Resetting Form Properties 00:09:48
  • 142. Fetching Data from Firebase 00:08:16
  • 143. Storing Data by ID 00:08:58
  • 144. Dynamic DataSource Building 00:08:01
  • 145. Transforming Objects to Arrays 00:07:07
  • 146. List Building in Employee List 00:06:25
  • 147. Reusing the Employee Form 00:06:56
  • 148. Create vs Edit Forms 00:06:53
  • 149. Reusable Forms 00:09:06
  • 150. A Standalone Employee Edit Form 00:03:27
  • 151. Initializing Forms from State 00:09:14
  • 152. Updating Firebase Records 00:07:15
  • 153. Clearing Form Attributes 00:05:17
  • 154. Texting Employees 00:04:42
  • 155. Modals as a Reusable Component 00:07:14
  • 156. The Modal Component Continued 00:08:11
  • 157. Styling the Modal 00:09:26
  • 158. Employee Delete Action Creator 00:08:31
  • 159. Wiring up Employee Delete 00:04:20
18. Extras
  • 1. Bonus .html