# ฟอร์มและการตรวจสอบความถูกต้อง (React Native) > React Hook Form, Formik, การตรวจสอบด้วย Yup, input แบบ controlled กับ uncontrolled, การจัดการ error - 18 คำถามสัมภาษณ์ - Mid-Level - [คำถามสัมภาษณ์: React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions.md) ## 1. ความแตกต่างหลักระหว่าง input แบบ controlled และ uncontrolled ใน React Native คืออะไร? **คำตอบ** input แบบ controlled ถูกจัดการโดย React state ผ่าน props value และ onChangeText ทำให้ควบคุมค่าได้อย่างสมบูรณ์ตลอดเวลา ส่วน input แบบ uncontrolled ใช้ ref เพื่อเข้าถึงค่าโดยตรงโดยไม่ผ่าน React state แนะนำให้ใช้ input แบบ controlled เพราะช่วยให้การตรวจสอบแบบเรียลไทม์และการซิงค์กับ state ของแอปพลิเคชันทำได้ง่ายขึ้น ## 2. ฮุกใดของ React Hook Form ที่ใช้ลงทะเบียน input และจัดการการตรวจสอบความถูกต้อง? **คำตอบ** ฮุก useForm ของ React Hook Form คืนค่าออบเจ็กต์ที่มีหลายเมธอดและพร็อพเพอร์ตี เมธอด register ช่วยให้ลงทะเบียน input ในฟอร์มและแนบกฎการตรวจสอบเข้าไปได้ มันคืนค่า props ที่จำเป็น (onChange, onBlur, ref) เพื่อเชื่อม input เข้ากับระบบจัดการฟอร์ม ## 3. จะกำหนด schema การตรวจสอบอีเมลด้วย Yup อย่างไร? **คำตอบ** Yup ใช้ API แบบเชนได้เพื่อกำหนด schema การตรวจสอบ ในการตรวจสอบอีเมล ให้ใช้ yup.string() เพื่อกำหนดชนิด แล้วเชน .email() เพื่อตรวจสอบรูปแบบอีเมล และอาจใช้ .required() เพื่อทำให้ฟิลด์เป็นข้อบังคับ แนวทางแบบประกาศนี้ช่วยให้สร้างการตรวจสอบที่อ่านง่ายและนำกลับมาใช้ใหม่ได้ ## มีอีก 15 คำถาม - ใน Formik prop ใดที่ใช้กำหนดค่าเริ่มต้นของฟอร์ม? - ข้อได้เปรียบด้านประสิทธิภาพหลักของ React Hook Form เมื่อเทียบกับ Formik คืออะไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ React Native อื่นๆ - [พื้นฐาน JavaScript](https://sharpskill.dev/th/technologies/react-native/interview-questions/javascript-essentials.md): 25 คำถาม, Junior - [พื้นฐาน React](https://sharpskill.dev/th/technologies/react-native/interview-questions/react-fundamentals.md): 20 คำถาม, Junior - [พื้นฐาน React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/react-native-basics.md): 22 คำถาม, Junior - [React Hooks](https://sharpskill.dev/th/technologies/react-native/interview-questions/react-hooks.md): 20 คำถาม, Junior - [TypeScript สำหรับ React และ React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/typescript-for-react-native.md): 22 คำถาม, Junior - [คอมโพเนนต์และ API ของ React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-components-api.md): 20 คำถาม, Junior - [การจัดสไตล์และเลย์เอาต์ใน React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-styling-layout.md): 18 คำถาม, Junior - [การนำทางใน React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-navigation.md): 22 คำถาม, Mid-Level - [การจัดการ State ใน React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-state-management.md): 24 คำถาม, Mid-Level - [Networking และ API ใน React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-networking-api.md): 20 คำถาม, Mid-Level - [การคงอยู่ของข้อมูล](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-data-persistence.md): 20 คำถาม, Mid-Level - [แอนิเมชัน React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-animations.md): 22 คำถาม, Mid-Level - [Native Modules & Bridge](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-native-modules.md): 20 คำถาม, Mid-Level - [โค้ดเฉพาะแพลตฟอร์ม](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-platform-specific-code.md): 18 คำถาม, Mid-Level - [สิทธิ์และ Device API](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-permissions-apis.md): 20 คำถาม, Mid-Level - [Push Notifications](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-push-notifications.md): 18 คำถาม, Mid-Level - [การทดสอบ React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-testing.md): 20 คำถาม, Mid-Level - [การ Debug React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-debugging.md): 18 คำถาม, Mid-Level - [Build & Deployment](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-build-deployment.md): 20 คำถาม, Mid-Level - [Expo vs React Native Bare](https://sharpskill.dev/th/technologies/react-native/interview-questions/expo-vs-bare-rn.md): 18 คำถาม, Mid-Level - [การเพิ่มประสิทธิภาพ](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-performance-optimization.md): 24 คำถาม, Senior - [การจัดการหน่วยความจำ](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-memory-management.md): 20 คำถาม, Senior - [Architecture Patterns](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-architecture-patterns.md): 22 คำถาม, Senior - [React Native New Architecture](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-new-architecture.md): 24 คำถาม, Senior - [แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-security-best-practices.md): 20 คำถาม, Senior - [Offline-First Architecture](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-offline-first.md): 20 คำถาม, Senior - [CI/CD React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-ci-cd.md): 20 คำถาม, Senior - [Monorepo และการแชร์โค้ด](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-monorepo-architecture.md): 18 คำถาม, Senior - [หัวข้อขั้นสูง](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-advanced-topics.md): 22 คำถาม, Senior - [วงจรชีวิตแอปและการทำงานเบื้องหลัง](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-app-lifecycle-background.md): 20 คำถาม, Mid-Level - [การยืนยันตัวตนและการจัดการเซสชัน](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-auth-session-management.md): 22 คำถาม, Mid-Level - [Monitoring & Crash Reporting](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-monitoring-crash-reporting.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-forms-validation