Mobile Apps · MBC-17

Basic React Native for React Developers

Basic React Native for React Developers is a beginner course that moves your web React skills to Android and iOS apps, covering core components, Flexbox layout, navigation with React Navigation and running apps on real phones with Android Studio and Xcode. It suits web developers who already write React, frontend teams and students who have learnt React.

Updated
From 4,950 THB / person 5,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration12 hours · 2 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

Developers who already write React for the web have more than half of what they need to build mobile apps with React Native, because components, props, state and hooks work the same way. What is new is everything that differs from the web: there is no DOM and no traditional CSS, core components render as native views, layout uses Flexbox through StyleSheet, navigation is a stack rather than URLs, and you need native tools such as Android Studio, Gradle and Xcode to run and build apps on real devices.

This new edition is updated for React Native 0.87, which runs only on the New Architecture. It maps web concepts to mobile one at a time, from setting up the native tools and creating a TypeScript project with the React Native Community CLI to core components, Flexbox layout, navigation with React Navigation 7, data from a REST API, and running apps on real Android phones and iPhones and producing release builds. (2 days, 6 hours per day, 12 hours in total, Beginner level.)

What you’ll gain

  • Explain how web React differs from React Native, including the New Architecture and Hermes
  • Install Node.js, a JDK, Android Studio and Xcode, and create a project with the React Native Community CLI
  • Use core components in place of HTML tags and lay out screens with StyleSheet and Flexbox
  • Build stack and tab navigation with React Navigation 7 and pass data between screens
  • Show data from a REST API with FlatList and store data on the device with AsyncStorage
  • Run and debug apps on real Android phones and iPhones, and produce release builds with native tools

Who this course is for

  • Web developers who already write React or Next.js and want to start building mobile apps
  • Frontend teams who look after both a website and an app with one set of React skills
  • Students who have learnt React and want to understand how native apps work
  • Developers who want to understand the Android and iOS projects behind a React Native app

Prerequisites

  • Able to write React for the web, such as components, props, useState and useEffect
  • Able to write modern JavaScript and read basic TypeScript
  • Familiar with REST APIs, JSON and fetch
  • Comfortable with the command line and npm

Curriculum

Course Details

This course is the 2026 edition of Basic React Native, refocused for people who already write React for the web. Unlike Basic React Native with Expo, which starts from Expo, this course works directly with the Android and iOS projects through the React Native Community CLI, Android Studio and Xcode. It is updated for React Native 0.87 and runs for 2 days, 6 hours per day (12 hours in total, 09:00-16:00), as lectures alternating with labs throughout. Beginner level. Learners map web concepts to mobile, use core components, lay out screens with Flexbox, build navigation with React Navigation 7, fetch data from a REST API and run apps on real phones. They take home a lab guide and the source code.

Day 1 From React on the Web to React Native

Section 1: How React on the Web Differs from React Native

  • What carries over straight away: components, props, state, hooks and context
  • What changes: no DOM, no CSS cascade, and rendering to native views
  • The New Architecture: Fabric, Turbo Native Modules and JSI, plus Hermes V1
  • Choosing between the Community CLI and a framework such as Expo

Section 2: Lab: Setting Up Native Tools on Windows and macOS

  • Install the Node.js LTS release, JDK 17 and VS Code
  • Android Studio, the Android SDK, the ANDROID_HOME variable and creating an emulator
  • Xcode, the iOS Simulator, CocoaPods and Watchman on macOS
  • Lab: check that your machine is ready before starting a project

Section 3: Lab: Creating a Project with the React Native Community CLI

  • Create a project with npx @react-native-community/cli@latest init
  • The project structure: App.tsx, the android and ios folders, and package.json
  • The Metro bundler, Fast Refresh and React Native DevTools
  • Lab: run your first app on the Android emulator and the iOS Simulator

Section 4: Lab: Core Components in Place of HTML Tags

  • View, Text and Image compared with div, span and img
  • TextInput, Switch and Pressable in place of input and button
  • ScrollView, Modal and Alert for long content and pop-ups
  • Lab: move a product card component from the web to React Native

Section 5: Lab: Styling with StyleSheet and Flexbox

  • StyleSheet, unitless sizes and styles that do not cascade like CSS
  • Flexbox on mobile: flexDirection defaults to column
  • useWindowDimensions, Platform.select and multiple screen sizes
  • Safe areas and edge-to-edge display on recent Android versions
  • Lab: lay out a profile screen that works on phones and tablets

Section 6: Lab: State, Hooks and Forms on Mobile

  • useState and useEffect in the context of a mobile app
  • Controlled TextInput, keyboard types and dismissing the keyboard
  • KeyboardAvoidingView so the keyboard does not cover the form
  • Lab: a sign-up form with validation
Day 2 Navigation, Data and Running on Real Devices

Section 7: Lab: Lists of Data with FlatList and SectionList

  • Why not to use map inside a ScrollView for large data sets
  • FlatList with data, renderItem and keyExtractor
  • SectionList, empty lists and pull to refresh
  • Lab: a product list grouped by category

Section 8: Lab: Navigation with React Navigation 7

  • How mobile navigation differs from React Router and URLs on the web
  • Install React Navigation with react-native-screens and safe-area-context
  • Native stack and bottom tabs with the static API
  • Pass params between screens and type them with TypeScript
  • Lab: a tabbed app with product detail screens

Section 9: Lab: Data from a REST API and On-Device Storage

  • fetch and async/await with loading and error states
  • Call an API on your own machine from an emulator and a real phone
  • Store data on the device with AsyncStorage in place of localStorage
  • Lab: a favourites list that survives closing the app

Section 10: Lab: Platform APIs That Differ from the Web

  • Platform.OS and platform-specific files
  • Linking to open phone numbers, maps and external links, plus Share
  • Permissions on Android and iOS through AndroidManifest and Info.plist
  • Lab: call and share buttons for product details

Section 11: Lab: Running on Real Devices and Release Builds

  • Enable USB debugging and run on Android with adb
  • Set up signing in Xcode and run on a real iPhone
  • Debug with React Native DevTools, Logcat and the Xcode console
  • Build a release APK and AAB with Gradle, plus an overview of archiving in Xcode

Section 12: Workshop: Moving a React Web App to Mobile

  • Work out which parts can be reused and which must be rewritten
  • Bring together navigation, lists, forms and AsyncStorage
  • Test on real Android phones and iPhones
  • Present your work and next steps towards Expo and the intermediate level

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

How does this course differ from Basic React Native with Expo?

Basic React Native with Expo starts from Expo, which hides the native setup and suits beginners in general. This course is designed for people who already write React for the web. It compares what you know from the web with what changes on mobile, one topic at a time, and uses the React Native Community CLI to work directly with the Android and iOS projects in Android Studio and Xcode, including running on real devices and producing release builds with native tools. You understand what sits behind the app, which also makes moving to Expo easier later.

How does React Native differ from writing a fully native app?

A fully native app is written separately in Kotlin for Android and Swift for iOS. React Native uses one JavaScript or TypeScript codebase with React concepts and renders real native components on each platform, not a web page wrapped in an app. Since React Native 0.82, apps run only on the New Architecture, which lets JavaScript call native code directly through JSI for better responsiveness, and you can still add native code when you need it.

Should I use ScrollView or FlatList to show a long list in React Native?

On the web we often build every item with map, but on mobile, using map inside a ScrollView with a lot of data creates every item at once and uses a lot of memory. Use FlatList instead, which renders only the items on screen and those about to scroll into view; you pass it data, renderItem and keyExtractor. ScrollView suits short content such as a form, and SectionList suits lists grouped under headings.

Who is the Basic React Native for React Developers course for, and what should I know beforehand?

It suits web developers who already write React or Next.js, frontend teams who look after both a website and an app, and students who have learnt React. You should be able to write components, props, useState and useEffect, write modern JavaScript and read basic TypeScript, know REST APIs and JSON, and use the command line and npm. If you have not written React before, we recommend Basic React Native with Expo.

What will I be able to do after the Basic React Native for React Developers course?

You will be able to set up Android Studio and Xcode, create a TypeScript project with the React Native Community CLI, use core components in place of HTML tags, lay out screens with Flexbox, build stack and tab navigation with React Navigation 7, show REST API data with FlatList, store data with AsyncStorage, and run apps on real Android phones and iPhones and produce release builds. Participants who complete the training receive a Certificate of Completion with its own number, which can be verified online.

Can I use a Mac or Windows for Basic React Native for React Developers, and what tools do I need?

Both work. In the first part of the course we install the Node.js LTS release, JDK 17, Android Studio with the Android SDK and emulator, and VS Code together. Windows can run and test Android apps fully, while running on the iOS Simulator or a real iPhone needs macOS with Xcode and CocoaPods and your own Apple Account. We recommend 16 GB of RAM and bringing your phone with a USB cable.