# Form & Validation (React Native) > React Hook Form, Formik, validation với Yup, input controlled vs uncontrolled, xử lý lỗi - 18 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van.md) ## 1. Sự khác biệt chính giữa input controlled và uncontrolled trong React Native là gì? **Câu trả lời** Một input controlled được quản lý bởi React state thông qua các prop value và onChangeText, cho phép kiểm soát hoàn toàn giá trị bất cứ lúc nào. Một input uncontrolled dùng ref để truy cập trực tiếp giá trị mà không thông qua React state. Input controlled được khuyến nghị vì chúng tạo điều kiện cho việc validation theo thời gian thực và đồng bộ với state của ứng dụng. ## 2. Hook nào của React Hook Form được dùng để đăng ký một input và xử lý validation của nó? **Câu trả lời** Hook useForm của React Hook Form trả về một object chứa nhiều phương thức và thuộc tính. Phương thức register cho phép đăng ký một input trong form và gắn các quy tắc validation cho nó. Nó trả về các prop cần thiết (onChange, onBlur, ref) để kết nối input với hệ thống quản lý form. ## 3. Làm thế nào để định nghĩa một schema validation email với Yup? **Câu trả lời** Yup sử dụng một API có thể nối chuỗi để định nghĩa các schema validation. Để validate email, dùng yup.string() để định nghĩa kiểu, sau đó nối .email() để validation định dạng email, và tùy chọn .required() để bắt buộc trường. Cách tiếp cận khai báo này cho phép tạo các validation dễ đọc và tái sử dụng. ## Còn 15 câu hỏi nữa - Trong Formik, prop nào được dùng để định nghĩa giá trị ban đầu của form? - Lợi thế hiệu năng chính của React Hook Form so với Formik là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn React Native khác - [Kiến thức cơ bản về JavaScript](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/javascript-essentials.md): 25 câu hỏi, Junior - [Kiến thức cơ bản về React](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/react-fundamentals.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/react-native-basics.md): 22 câu hỏi, Junior - [React Hooks](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/react-hooks.md): 20 câu hỏi, Junior - [TypeScript cho React & React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/typescript-for-react-native.md): 22 câu hỏi, Junior - [Thành phần & API React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-components-api.md): 20 câu hỏi, Junior - [Styling & Layout trong React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-styling-layout.md): 18 câu hỏi, Junior - [Điều hướng React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-navigation.md): 22 câu hỏi, Mid-Level - [Quản lý State trong React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-state-management.md): 24 câu hỏi, Mid-Level - [Networking & API trong React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-networking-api.md): 20 câu hỏi, Mid-Level - [Lưu trữ dữ liệu bền vững](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-data-persistence.md): 20 câu hỏi, Mid-Level - [Animation trong React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-animations.md): 22 câu hỏi, Mid-Level - [Native Modules & Bridge](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-native-modules.md): 20 câu hỏi, Mid-Level - [Mã đặc thù theo nền tảng](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-platform-specific-code.md): 18 câu hỏi, Mid-Level - [Quyền & Device API](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-permissions-apis.md): 20 câu hỏi, Mid-Level - [Push Notifications](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-push-notifications.md): 18 câu hỏi, Mid-Level - [Testing React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-testing.md): 20 câu hỏi, Mid-Level - [Debugging React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-debugging.md): 18 câu hỏi, Mid-Level - [Build & Deployment](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-build-deployment.md): 20 câu hỏi, Mid-Level - [Expo vs React Native Bare](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/expo-vs-bare-rn.md): 18 câu hỏi, Mid-Level - [Tối ưu hóa hiệu suất](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-performance-optimization.md): 24 câu hỏi, Senior - [Quản lý bộ nhớ](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-memory-management.md): 20 câu hỏi, Senior - [Architecture Patterns](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-architecture-patterns.md): 22 câu hỏi, Senior - [New Architecture của React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-new-architecture.md): 24 câu hỏi, Senior - [Các Phương Pháp Bảo Mật Tốt Nhất](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-security-best-practices.md): 20 câu hỏi, Senior - [Offline-First Architecture](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-offline-first.md): 20 câu hỏi, Senior - [CI/CD React Native](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-ci-cd.md): 20 câu hỏi, Senior - [Monorepo & Chia sẻ mã](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-monorepo-architecture.md): 18 câu hỏi, Senior - [Chủ đề nâng cao](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-advanced-topics.md): 22 câu hỏi, Senior - [Vòng đời ứng dụng & Thực thi nền](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-app-lifecycle-background.md): 20 câu hỏi, Mid-Level - [Xác thực & Quản lý phiên](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-auth-session-management.md): 22 câu hỏi, Mid-Level - [Monitoring & Crash Reporting](https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-monitoring-crash-reporting.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/react-native/cau-hoi-phong-van/rn-forms-validation