สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาแอพมือถือ · MBC-18

Intermediate React Native

หลักสูตร Intermediate React Native เป็นการอบรมต่อยอดจากขั้นพื้นฐานด้วย Expo ทั้ง Layout ที่รองรับหลายขนาดจอ Component ที่ใช้ซ้ำได้ การจัดการ State ฟอร์มพร้อมตรวจข้อมูล และ Navigation หลายชั้น เหมาะกับผู้ที่สร้างแอป React Native แรกได้แล้ว จบแล้วสร้างแอปอ่านข่าวที่เชื่อม API จาก Node.js ได้

อัปเดตล่าสุด
ราคาเริ่มต้น 5,850 บาท / ท่าน 6,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

หลังจากสร้างแอป React Native แรกได้แล้ว โจทย์ถัดไปคือทำให้แอปดูดีบนทุกขนาดจอ แยก Component ให้ใช้ซ้ำได้ จัดการ State ที่เริ่มซับซ้อน ทำฟอร์มที่ตรวจข้อมูลได้จริง และวางโครง Navigation หลายชั้นโดยไม่สับสน ทักษะเหล่านี้เป็นช่องว่างระหว่างแอปตัวอย่างกับแอปที่พร้อมให้ผู้ใช้จริงใช้งาน

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ต่อยอดจาก Basic React Native with Expo ใช้ Expo SDK 57, React Native 0.86 และ TypeScript พาผู้เรียนออกแบบ Layout ขั้นสูง สร้าง Component และ Theme ที่ใช้ซ้ำได้ จัดการ State ด้วย useReducer และ Context ทำฟอร์มด้วย React Hook Form และ Zod รวม Drawer, Tabs และ Stack ด้วย Expo Router ดึงข้อมูลจาก API เก็บข้อมูลในเครื่อง และใช้กล้องกับตำแหน่ง ปิดท้ายด้วย Workshop แอปอ่านข่าวที่เชื่อม API จาก Node.js (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • ออกแบบ Layout ขั้นสูงด้วย Flexbox และ Positioning ที่รองรับหลายขนาดจอทั้ง Android และ iOS
  • สร้าง Component และ Theme ที่ใช้ซ้ำได้ พร้อมส่งข้อมูลระหว่าง Parent กับ Child อย่างเป็นระบบ
  • จัดการ State ที่ซับซ้อนด้วย useReducer และแชร์ข้อมูลทั้งแอปด้วย Context
  • สร้างฟอร์มพร้อมตรวจข้อมูลและข้อความแจ้งข้อผิดพลาดด้วย React Hook Form และ Zod
  • วางโครง Navigation แบบ Drawer, Tabs และ Stack ซ้อนกันด้วย Expo Router
  • ดึงข้อมูลจาก REST API ผ่าน Custom Hook และเก็บข้อมูลในเครื่องได้
  • ใช้กล้อง รูปภาพ และตำแหน่งของเครื่องผ่าน Expo SDK
  • พัฒนาแอปอ่านข่าวที่ล็อกอิน แสดงข่าวตามหมวดหมู่ และค้นหาผ่าน API จาก Node.js

หลักสูตรนี้เหมาะสำหรับ

  • ผู้ที่ผ่านหลักสูตร Basic React Native with Expo หรือสร้างแอป React Native แรกได้แล้ว
  • Web Developer สาย React ที่ต้องการพัฒนาแอป Android และ iOS ให้ซับซ้อนขึ้น
  • นักพัฒนาที่อยากเพิ่มทักษะก่อนไปถึงหลักสูตร Advanced React Native with Expo
  • นักศึกษาและผู้สนใจที่ต้องการสร้างแอปมือถือด้วย JavaScript และ TypeScript

พื้นฐานของผู้เข้าอบรม

  • ผ่านหลักสูตร Basic React Native with Expo หรือสร้างโปรเจกต์ Expo ใช้ Core Components และ Navigation พื้นฐานได้
  • เขียน JavaScript หรือ TypeScript และเข้าใจ Component, Props และ useState
  • รู้จัก REST API และรูปแบบข้อมูล JSON
  • มีมือถือ Android หรือ iPhone สำหรับทดสอบ (การ Build บน iOS ต้องใช้ Mac ที่ติดตั้ง Xcode)

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ที่มาแทนหลักสูตร Intermediate React Native รุ่นเดิม เป็นระดับกลางระหว่าง Basic React Native with Expo และ Advanced React Native with Expo เนื้อหาเขียนใหม่ให้ตรงกับ Expo SDK 57, React Native 0.86 และ Expo Router อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายสลับ Lab และ Workshop ตลอดหลักสูตร ระดับ Intermediate เหมาะกับผู้ที่สร้างแอป React Native แรกได้แล้วและต้องการทำแอปที่ซับซ้อนขึ้น ผู้เรียนจะได้ฝึก Layout, Component, State, ฟอร์ม และ Navigation หลายชั้น ก่อนรวมทุกอย่างในแอปอ่านข่าวที่เชื่อม API จาก Node.js พร้อมรับ Lab Guide และซอร์สโค้ดกลับไปใช้งานต่อ

Day 1 Layout, Components และ State

Section 1: Lab: ทบทวน Core Components และโปรเจกต์ Expo

  • สร้างโปรเจกต์ด้วย create-expo-app แบบ TypeScript และโครงสร้างไฟล์
  • View, Text, expo-image, Pressable, Alert และ StyleSheet
  • เขียนโค้ดแยกตามแพลตฟอร์มด้วย Platform.select และไฟล์ .ios หรือ .android
  • Fast Refresh และการดีบักด้วย React Native DevTools
  • Lab: หน้าโปรไฟล์ที่แสดงผลต่างกันตามแพลตฟอร์ม

Section 2: Lab: ออกแบบ Layout ขั้นสูง

  • Flexbox ที่ซับซ้อนขึ้น: flex, wrap, gap และการจัดแนว
  • Absolute และ Relative Positioning สำหรับป้าย ปุ่มลอย และภาพซ้อน
  • รองรับหลายขนาดจอด้วย useWindowDimensions และแนวนอน
  • Safe Area Insets และ KeyboardAvoidingView
  • Lab: หน้า Dashboard ที่ปรับตามขนาดจอ

Section 3: Lab: หน้า Welcome และ Onboarding

  • ใส่ฟอนต์ภาษาไทยด้วย expo-font และตั้งค่า Splash Screen
  • Onboarding แบบเลื่อนทีละหน้าด้วย FlatList แนวนอนพร้อมตัวบอกหน้า
  • ภาพพื้นหลัง Gradient และภาพประกอบ
  • Animation พื้นฐานด้วย Animated API ของ React Native
  • จำว่าผู้ใช้เคยดู Onboarding แล้วเพื่อข้ามในครั้งถัดไป

Section 4: Lab: Reusable Components และ Theme

  • ออกแบบ Props ด้วย TypeScript, ค่าเริ่มต้น และ children
  • ความสัมพันธ์แบบ Parent กับ Child และการส่ง Callback กลับขึ้นไป
  • Component แบบมี Variant เช่น ปุ่มหลัก ปุ่มรอง และการ์ด
  • Theme สี ระยะห่าง และตัวอักษรกลาง พร้อม Dark Mode ด้วย useColorScheme
  • Lab: ชุด UI Kit เล็ก ๆ ของแอป

Section 5: Lab: จัดการ State ด้วย useReducer และ Context

  • ยก State ขึ้นไปไว้ที่ Parent และประสานหลาย Component
  • ตรวจสอบก่อนเปลี่ยน State และเขียน State Update ที่ใช้ซ้ำได้
  • useReducer: Reducer, Action และ dispatch
  • Context สำหรับข้อมูลที่ใช้ทั้งแอป เช่น Theme และผู้ใช้ที่ล็อกอิน
  • Lab: ตะกร้าสินค้าด้วย useReducer และ Context
Day 2 ฟอร์มและ Navigation หลายชั้น

Section 6: Lab: Input และ Form Components

  • TextInput หลายแบบ: อีเมล รหัสผ่าน ตัวเลข และข้อความหลายบรรทัด
  • Switch, ตัวเลือกแบบรายการ และ DateTimePicker สำหรับเลือกวันเวลา
  • Modal และ Bottom Sheet อย่างง่ายพร้อมกำหนดทิศทางการแสดง
  • จัดการ Focus, ปุ่มบนแป้นพิมพ์ และการปิดแป้นพิมพ์
  • Lab: ฟอร์มจองนัดหมายพร้อมเลือกวันเวลา

Section 7: Lab: ตรวจข้อมูลด้วย React Hook Form และ Zod

  • ทำไมต้องใช้ Form Library และหลักการ Controlled Input
  • กำหนดกฎด้วย Zod Schema และใช้ชนิดข้อมูลเดียวกันกับ TypeScript
  • แสดงข้อความแจ้งข้อผิดพลาดใต้ช่องกรอกและสถานะกำลังส่ง
  • แยก Field Component ให้ใช้ซ้ำในฟอร์มอื่น
  • Lab: ฟอร์ม Login และ Register พร้อมตรวจข้อมูล

Section 8: Lab: Navigation ด้วย Expo Router

  • ทบทวน File-based Routing และไฟล์ _layout
  • Stack: ปรับแต่ง Header ปุ่มบน Navigation Bar และหน้า Modal
  • ส่ง Parameter ระหว่างหน้าและอ่านค่าด้วย useLocalSearchParams
  • Tabs พร้อมไอคอน Badge และการซ่อนแท็บบางหน้า
  • จัดกลุ่มหน้าด้วย Groups และ Redirect ตามสถานะล็อกอิน

Section 9: Workshop: รวม Drawer, Tabs และ Stack

  • ติดตั้ง Drawer สำหรับ Expo Router และไลบรารีที่จำเป็น
  • วางโครง Drawer ชั้นนอก Tabs ชั้นกลาง และ Stack สำหรับหน้ารายละเอียด
  • สร้างเมนูใน Drawer และ Header ของแต่ละแท็บโดยไม่ให้ซ้อนกัน
  • เปิดหน้าใหม่จาก Drawer และส่งค่าข้ามชั้น
  • ทดสอบให้ทำงานถูกต้องทั้ง Android และ iOS
Day 3 ข้อมูล, ความสามารถของเครื่อง และแอปอ่านข่าว

Section 10: Lab: ดึงข้อมูลจาก API ด้วย Custom Hook

  • เรียก REST API ด้วย fetch และ async/await พร้อมกำหนดชนิดข้อมูล
  • สร้าง Custom Hook สำหรับโหลดข้อมูล สถานะโหลด และ Error
  • ยกเลิกคำขอที่ไม่ใช้แล้วด้วย AbortController
  • แบ่งหน้าด้วย onEndReached และ Pull to Refresh
  • Lab: รายการสินค้าที่โหลดเพิ่มเมื่อเลื่อนถึงท้าย

Section 11: Lab: เก็บข้อมูลในเครื่อง

  • เก็บค่าตั้งค่าและรายการโปรดด้วย AsyncStorage
  • เก็บ Token อย่างปลอดภัยด้วย expo-secure-store
  • โหลดข้อมูลที่เก็บไว้ตอนเปิดแอปและแสดงหน้าจอระหว่างรอ
  • Lab: จำสถานะล็อกอินและธีมที่ผู้ใช้เลือก

Section 12: Lab: กล้อง รูปภาพ และตำแหน่ง

  • ขอสิทธิ์และอธิบายเหตุผลให้ผู้ใช้อย่างเหมาะสม
  • เลือกรูปจาก Gallery หรือถ่ายภาพด้วย expo-image-picker
  • อ่านตำแหน่งปัจจุบันด้วย expo-location
  • แจ้งเตือนในเครื่องอย่างง่ายด้วย Local Notification
  • Lab: หน้าแก้ไขโปรไฟล์พร้อมรูปและตำแหน่ง

Section 13: Workshop: แอปอ่านข่าวเชื่อม API จาก Node.js

  • เตรียม REST API ด้วย Node.js และ Express
  • Register และ Login ผ่าน API แล้วเก็บ Token
  • แสดงข่าวล่าสุดเรียงตามเวลาและข่าวตามหมวดหมู่
  • หน้ารายละเอียดข่าว ค้นหาข่าว และบันทึกข่าวที่สนใจ
  • จัดโครงด้วย Drawer, Tabs และ Stack ที่สร้างไว้

Section 14: ทดสอบบนมือถือจริงและแนวทางต่อยอด

  • Expo Go กับ Development Build เลือกใช้เมื่อไร
  • Build แอป Android สำหรับทดสอบด้วย EAS Build แบบ Preview
  • แก้ปัญหาที่พบบ่อยบน Android และ iOS
  • นำเสนอผลงานและเส้นทางสู่หลักสูตร Advanced

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

useReducer ต่างจาก useState อย่างไร ควรใช้เมื่อไร

useState เหมาะกับค่าที่เปลี่ยนแบบตรงไปตรงมา เช่น ข้อความในช่องกรอกหรือสถานะเปิดปิด ส่วน useReducer รวมการเปลี่ยน State ไว้ในฟังก์ชัน Reducer ที่รับ State เดิมกับ Action แล้วคืน State ใหม่ Component เพียงเรียก dispatch พร้อมชนิดของ Action เหมาะกับ State ที่มีหลายค่าเกี่ยวข้องกันหรือมีหลายวิธีเปลี่ยน เช่น ตะกร้าสินค้า ทำให้ตรวจสอบและทดสอบ Logic ได้ง่ายขึ้น และใช้ร่วมกับ Context เพื่อแชร์ข้อมูลทั้งแอปได้

ส่งข้อมูลระหว่าง Component แม่กับลูกใน React Native ทำอย่างไร

Component แม่ส่งข้อมูลลงไปให้ลูกผ่าน Props เช่น ข้อความ รูปภาพ หรือสไตล์ โดยกำหนดชนิดของ Props ด้วย TypeScript ทำให้ Component เดียวใช้ซ้ำได้กับข้อมูลต่างกัน ส่วนการส่งข้อมูลกลับขึ้นมา ให้แม่ส่งฟังก์ชัน Callback ลงไปเป็น Props แล้วลูกเรียกฟังก์ชันนั้นพร้อมค่าที่ต้องการ เช่น เมื่อกดปุ่มหรือพิมพ์ในช่องกรอก State จึงอยู่ที่แม่เพียงที่เดียว และลูกทุกตัวแสดงข้อมูลชุดเดียวกัน

ใช้ Drawer, Tabs และ Stack ร่วมกันในแอปเดียวด้วย Expo Router ทำอย่างไร

Expo Router กำหนด Navigation จากโครงสร้างโฟลเดอร์ แต่ละโฟลเดอร์มีไฟล์ _layout บอกว่าใช้ Navigator แบบไหน วิธีที่นิยมคือใช้ Drawer เป็นชั้นนอกสุดสำหรับเมนูหลัก ในนั้นวางโฟลเดอร์ Tabs และในแต่ละแท็บใช้ Stack สำหรับหน้ารายละเอียด ส่งค่าระหว่างหน้าผ่าน Parameter แล้วอ่านด้วย useLocalSearchParams และควรวางแผนว่า Header จะแสดงจากชั้นไหนเพื่อไม่ให้ซ้อนกัน

ทำไมหลักสูตรนี้ใช้ Expo แทน React Native CLI

เอกสารของ React Native แนะนำให้เริ่มแอปใหม่ด้วย Framework อย่าง Expo เพราะมี File-based Routing, ไลบรารีสำหรับความสามารถของเครื่องที่ดูแลต่อเนื่อง และเครื่องมือ Build ที่ช่วยลดงานตั้งค่าโปรเจกต์ Native ผู้เรียนจึงใช้เวลากับการเขียนแอปได้มากขึ้น และยังเพิ่มโค้ด Native ได้ภายหลังเมื่อจำเป็น ความรู้เรื่อง Component, State และ Layout ที่เรียนใช้ได้กับ React Native ทุกแบบ

หลักสูตร Intermediate React Native เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับผู้ที่อยากพัฒนาแอป Android และ iOS ด้วย JavaScript หรือ TypeScript และต้องการเพิ่มทักษะ React Native อีกขั้นก่อนไปถึงระดับสูง ควรผ่านหลักสูตร Basic React Native with Expo มาแล้ว หรือมีความรู้เทียบเท่า คือสร้างโปรเจกต์ Expo ใช้ Core Components และทำ Navigation พื้นฐานได้ และรู้จัก REST API กับข้อมูล JSON

เรียนจบหลักสูตร Intermediate React Native แล้วทำอะไรได้บ้าง

ออกแบบ Layout ที่รองรับหลายขนาดจอ ทำหน้า Welcome และ Onboarding สร้าง Component และ Theme ที่ใช้ซ้ำได้ จัดการ State ด้วย useReducer และ Context สร้างฟอร์มที่ตรวจข้อมูลด้วย React Hook Form และ Zod วาง Drawer, Tabs และ Stack ในแอปเดียว ดึงข้อมูลจาก API เก็บข้อมูลในเครื่อง ใช้กล้องและตำแหน่ง และสร้างแอปอ่านข่าวที่เชื่อม API จาก Node.js ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้