# Forms & Validation (React Native) > React Hook Form, Formik, Yup validation, controlled vs uncontrolled inputs, error handling - 18 interview questions - Mid-Level - [Interview Questions: React Native](https://sharpskill.dev/en/technologies/react-native/interview-questions.md) ## 1. What is the main difference between a controlled and an uncontrolled input in React Native? **Answer** A controlled input is managed by React state via value and onChangeText props, allowing full control over the value at any time. An uncontrolled input uses a ref to directly access the DOM value without going through React state. Controlled inputs are recommended as they facilitate real-time validation and synchronization with the application state. ## 2. Which React Hook Form hook is used to register an input and handle its validation? **Answer** The useForm hook from React Hook Form returns an object containing several methods and properties. The register method allows registering an input in the form and attaching validation rules to it. It returns the necessary props (onChange, onBlur, ref) to connect the input to the form management system. ## 3. How to define an email validation schema with Yup? **Answer** Yup uses a chainable API to define validation schemas. To validate an email, use yup.string() to define the type, then chain .email() for email format validation, and optionally .required() to make the field mandatory. This declarative approach allows creating readable and reusable validations. ## 15 more questions available - In Formik, which prop is used to define the initial values of the form? - What is the main performance advantage of React Hook Form compared to Formik? Sign up for free: https://sharpskill.dev/en/login ## Other React Native interview topics - [JavaScript Essentials](https://sharpskill.dev/en/technologies/react-native/interview-questions/javascript-essentials.md): 25 questions, Junior - [React Fundamentals](https://sharpskill.dev/en/technologies/react-native/interview-questions/react-fundamentals.md): 20 questions, Junior - [React Native Basics](https://sharpskill.dev/en/technologies/react-native/interview-questions/react-native-basics.md): 22 questions, Junior - [React Hooks](https://sharpskill.dev/en/technologies/react-native/interview-questions/react-hooks.md): 20 questions, Junior - [TypeScript for React & React Native](https://sharpskill.dev/en/technologies/react-native/interview-questions/typescript-for-react-native.md): 22 questions, Junior - [React Native Components & API](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-components-api.md): 20 questions, Junior - [React Native Styling & Layout](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-styling-layout.md): 18 questions, Junior - [React Native Navigation](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-navigation.md): 22 questions, Mid-Level - [React Native State Management](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-state-management.md): 24 questions, Mid-Level - [React Native Networking & API](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-networking-api.md): 20 questions, Mid-Level - [Data Persistence](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-data-persistence.md): 20 questions, Mid-Level - [React Native Animations](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-animations.md): 22 questions, Mid-Level - [Native Modules & Bridge](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-native-modules.md): 20 questions, Mid-Level - [Platform-Specific Code](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-platform-specific-code.md): 18 questions, Mid-Level - [Permissions & Device APIs](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-permissions-apis.md): 20 questions, Mid-Level - [Push Notifications](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-push-notifications.md): 18 questions, Mid-Level - [React Native Testing](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-testing.md): 20 questions, Mid-Level - [React Native Debugging](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-debugging.md): 18 questions, Mid-Level - [Build & Deployment](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-build-deployment.md): 20 questions, Mid-Level - [Expo vs React Native Bare](https://sharpskill.dev/en/technologies/react-native/interview-questions/expo-vs-bare-rn.md): 18 questions, Mid-Level - [Performance Optimization](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-performance-optimization.md): 24 questions, Senior - [Memory Management](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-memory-management.md): 20 questions, Senior - [Architecture Patterns](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-architecture-patterns.md): 22 questions, Senior - [React Native New Architecture](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-new-architecture.md): 24 questions, Senior - [Security Best Practices](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-security-best-practices.md): 20 questions, Senior - [Offline-First Architecture](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-offline-first.md): 20 questions, Senior - [React Native CI/CD](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-ci-cd.md): 20 questions, Senior - [Monorepo & Code Sharing](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-monorepo-architecture.md): 18 questions, Senior - [Advanced Topics](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-advanced-topics.md): 22 questions, Senior - [App Lifecycle & Background Execution](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-app-lifecycle-background.md): 20 questions, Mid-Level - [Authentication & Session Management](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-auth-session-management.md): 22 questions, Mid-Level - [Monitoring & Crash Reporting](https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-monitoring-crash-reporting.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/react-native/interview-questions/rn-forms-validation