# TypeScript สำหรับ React และ React Native (React Native) > ชนิด props/state, generics, discriminated unions, การกำหนดชนิด hooks, ชนิด React Navigation, การตอบกลับ API - 22 คำถามสัมภาษณ์ - Junior - [คำถามสัมภาษณ์: React Native](https://sharpskill.dev/th/technologies/react-native/interview-questions.md) ## 1. ข้อดีหลักของการใช้ TypeScript ในโปรเจกต์ React Native คืออะไร? **คำตอบ** TypeScript ตรวจจับข้อผิดพลาดของชนิดในเวลาคอมไพล์ ก่อนที่แอปพลิเคชันจะทำงานเสียอีก สิ่งนี้ช่วยลดบั๊กในระบบ production ที่เกี่ยวข้องกับชนิดที่ไม่ถูกต้องได้อย่างมาก ปรับปรุงการเติมข้อความอัตโนมัติใน IDE และทำให้โค้ดอธิบายตัวเองได้มากขึ้น ในโปรเจกต์ React Native สิ่งนี้ช่วยในการกำหนดชนิดของ props, state และการตอบกลับ API ได้อย่างถูกต้องเป็นพิเศษ ## 2. ความแตกต่างระหว่าง type และ interface ใน TypeScript คืออะไร? **คำตอบ** interface สามารถขยายและรวมกันได้ผ่าน declaration merging ซึ่งมีประโยชน์ในการขยายชนิดของไลบรารีภายนอก ส่วน type มีความยืดหยุ่นมากกว่าและสามารถแทน union, intersection และชนิดพื้นฐานได้ ในทางปฏิบัติ สำหรับออบเจกต์อย่างง่ายทั้งสองสามารถใช้แทนกันได้ แต่ interface เป็นที่นิยมสำหรับ props ของคอมโพเนนต์ React เพราะรองรับการขยาย ## 3. จะกำหนดชนิดของ props ในคอมโพเนนต์แบบฟังก์ชันของ React Native อย่างถูกต้องได้อย่างไร? **คำตอบ** วิธีที่แนะนำคือกำหนด interface สำหรับ props และใช้เป็นชนิด generic หรือคำอธิบายพารามิเตอร์ คุณสามารถใช้ React.FC กับ generic หรือกำหนดชนิด props โดยตรงใน signature ของฟังก์ชัน วิธีที่สองมักเป็นที่นิยมมากกว่าเพราะ React.FC รวม children โดยปริยายซึ่งอาจไม่ต้องการ ## มีอีก 19 คำถาม - จะกำหนดชนิดของ hook useState ด้วยชนิดที่กำหนดเองใน TypeScript ได้อย่างไร? - ชนิด generic ใน TypeScript คืออะไรและใช้สำหรับอะไร? สมัครฟรี: 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 - [คอมโพเนนต์และ 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 - [ฟอร์มและการตรวจสอบความถูกต้อง](https://sharpskill.dev/th/technologies/react-native/interview-questions/rn-forms-validation.md): 18 คำถาม, 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/typescript-for-react-native