Mastering React Native

Next -Level React: Explore step-by-step how to build, test & publish React Native applications

TT4199

Intermediate

4 Days

Course Overview

React Native is used by organizations worldwide to create cross-platform phone/tablet apps with one code base. This means that you can write code easily that will run on iPhones, iPads, and Android phones and tablets without having to rewrite it in two or more languages -- just one. And that one language is easy to learn if you know React and JavaScript because it is React and JavaScript! Furthermore, these apps run natively and can be deployed to the Apple AppStore or the Google Play store, not web apps that run in some adapter or translator. So, they're faster and more reliable.

Throughout this course, students will learn to use React Native to create cross-platform native apps quickly and easily with a 50/50 mix of lecture and real-world labs. You'll start from scratch and build up to a comprehensive app which uses modern techniques and best practices to consume RESTful data from a NodeJS/Express server and present it to the user in a multi-screen, interactive app.

Course Objectives

Working in a hands-on learning environment, guided by our expert team, attendees will learn about and explore:

  • Create cross-platform iOS and Android apps
  • Set up a device emulator on your laptop and deploy apps to it
  • Use expo to create and run iOS and Android apps
  • Explain the architecture of a device app
  • Apply the most useful React Native components
  • Write app code that works differently on the different platforms
  • Use flexbox on devices to control the layout of your apps
  • Style your app efficiently using best practices
  • Use stack navigators, drawer navigators and tab navigators to change app scenes
  • Consume RESTful data in a handheld device and present it to the user

Need different skills or topics?  If your team requires different topics or tools, additional skills or custom approach, this course may be further adjusted to accommodate.  We offer additional React, web development and design courses which may be blended with this course for a track that best suits your development objectives.

Course Prerequisites

This is an intermediate-level course for web developers with prior practical experience working with React.  Attendees are required to have a very strong grasp of React, Redux and advanced JavaScript.

Please see the Related Courses tab for specific Pre-Requisite courses, Related Courses that offer similar skills or topics, and next-step Follow-On Courses and Learning Path recommendations.

Course Agenda

Please note that this list of topics is based on our standard course offering, evolved from typical industry uses and trends. We will work with you to tune this course and level of coverage to target the skills you need most.

Hello React Native

  • What is React Native?
  • What does it do for us? Why choose it?
  • Pros and cons
  • Architecture
  • Sharing with web projects
  • What React Native code looks like
  • Leveraging your React knowledge

React and Redux reviews (when needed)

  • Redux reminder
  • Reducers, actions, state, store, and middleware
  • React reminder
  • SFCs vs class-based components
  • Composition
  • JSX structure and rules
  • props
  • state
  • Controlled and uncontrolled components
  • Virtual DOM vs the real DOM

The Development Process

  • Where do I even start?
  • react-native vs. create-react-native-app
  • Which is better for given situations
  • The React Native team's recommendations
  • What is expo?
  • Creating a new React Native app
  • How to run it on a tethered device
  • How to run it on a wireless device
  • How to run it in an Android emulator
  • How to run it on an iOS simulator
  • Debugging in a browser window
  • Logging, breakpoints, stepping through
  • YellowBoxes and RedBoxes

Single-value Controls

  • Components overview
  • Categories of components
  • Text
  • Text props and events
  • TextInput
  • props and events and the event object
  • Image
  • Differences between HTML and React Native images
  • Reserving space for them
  • Local images vs remote images
  • resizeMode

Platform-specific Development

  • How can we develop differently on the different platforms?
  • Why would we ever do this?
  • Technical roadblocks
  • The DatePicker - iOS vs Android
  • Using the Platform module

Layout Components

  • Components review
  • View
  • SafeAreaView
  • ScrollView
  • Pinch-to-zoom
  • KeyboardAvoidingView
  • How to create modal views
  • Controlling the OS's status bar

Flexbox for Native Layouts

  • Why flexbox?
  • Where it came from
  • Flexbox on the web is NOT flexbox on native
  • Containers and items
  • flexDirection
  • flexBasis vs width/height
  • flexShrink, flexGrow
  • The flex shorthand
  • justifyContent and alignContent
  • flexWrap

Styling React Native Apps

  • How React Native styles differ from CSS
  • How to apply styles
  • How to control style inheritance
  • Style arrays
  • Four methods of defining styles
  • Common properties
  • Cross-platform fonts
  • Conditional and programmatic styles

Navigation

  • What is navigation, really?
  • How to get React Navigation
  • The three types of navigators
  • StackNavigator
  • Routing object
  • Navigation config
  • How to pass params when navigating
  • TabNavigators
  • Three types of TabNavigators
  • How to set icons
  • DrawerNavigator
  • Examples and demos

Ajax in React Native

  • Why it must be different on a device
  • The fetch API
  • How to show a loading indicator
  • How to make requests and populate affordances
  • Security in a native environment

List Components

  • Components review
  • Pickers
  • FlatList
  • SectionList

Touchables and Buttons

  • The Button API
  • Button events and props
  • Why touchables?
  • TouchableWithoutFeedback
  • TouchableNativeFeedback
  • TouchableOpacity
  • TouchableHighlight
  • How to disable a touchable

Course Materials

Student Materials: Each participant will receive a Student Guide with course notes, code samples, software tutorials, step-by-step written lab instructions, diagrams and related reference materials and resource links. Students will also receive the project files (or code, if applicable) and solutions required for the hands-on work. Any courseware of lab materials provided in a cloud (if applicable) will also be made available to you separately.

Hands-On Setup Made Simple! Our dedicated tech team will work with you to ensure our ‘easy-access’ cloud-based course environment, or local installation, is accessible, fully-tested and verified as ready to go well in advance of the course start date, ensuring a smooth start to class and effective learning experience for all participants. We can also help you install this course locally if preferred. Please inquire for details and options.

Every-Course Extras = High-Value & Long-Term Learning Support! All Public Schedule courses include our unique EveryCourse Extras package (Post-Course Resource Site access with Review Labs & Live Instructor Follow-on Support, access to QuickSkills recorded High-Value lessons, Free *Live* Course Refresh Re-Takes, early access to Special Offers, Free Courses & more). Please inquire for details.

Raise the bar for advancing technology skills

Attend a Class!

Live scheduled classes are listed below or browse our full course catalog anytime

Special Offers

We regulary offer discounts for individuals, groups and corporate teams. Contact us

Custom Team Training

Check out custom training solutions planned around your unique needs and skills.

EveryCourse Extras

Exclusive materials, ongoing support and a free live course refresh with every class.

Summer Savings!
Register today to receive *50% off all 2021 Public Classes*!  Check out our Current Offers for Individuals, Teams and Organizations to Learn for Less!

See our latest Offers and Promotions

Learn. Explore. Advance!

Extend your training investment! Recorded sessions, free re-sits and after course support included with Every Course
Trivera MiniCamps
Gain the skills you need with less time in the classroom with our short course, live-online hands-on events
Trivera QuickSkills: Free Courses and Webinars
Training on us! Keep your skills current with free live events, courses & webinars
Trivera AfterCourse: Coaching and Support
Expert level after-training support to help organizations put new training skills into practice on the job

The voices of our customers speak volumes

Special Offers
Limited Offer for most courses.

SAVE 50%

Learn More