# フォームとバリデーション (React Native) > React Hook Form、Formik、Yup によるバリデーション、controlled と uncontrolled の input、エラーハンドリング - 18 面接問題 - Mid-Level - [面接問題: React Native](https://sharpskill.dev/ja/technologies/react-native/interview-questions.md) ## 1. React Native における controlled input と uncontrolled input の主な違いは何ですか? **回答** controlled input は value と onChangeText props を通じて React の state によって管理され、いつでも値を完全に制御できます。uncontrolled input は ref を使って React の state を介さずに値へ直接アクセスします。controlled input はリアルタイムバリデーションやアプリケーションの state との同期を容易にするため推奨されます。 ## 2. input を登録してそのバリデーションを扱うために使う React Hook Form のフックはどれですか? **回答** React Hook Form の useForm フックは、複数のメソッドとプロパティを含むオブジェクトを返します。register メソッドは input をフォームに登録し、バリデーションルールを付与できます。input をフォーム管理システムに接続するために必要な props(onChange、onBlur、ref)を返します。 ## 3. Yup でメールアドレスのバリデーションスキーマをどのように定義しますか? **回答** Yup はバリデーションスキーマを定義するためにチェーン可能な API を使います。メールアドレスを検証するには、yup.string() で型を定義し、.email() をチェーンしてメール形式を検証し、必要に応じて .required() で必須項目にします。この宣言的なアプローチにより、読みやすく再利用可能なバリデーションを作成できます。 ## さらに15問利用可能 - Formik で、フォームの初期値を定義するために使う prop はどれですか? - Formik と比較した React Hook Form の主なパフォーマンス上の利点は何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のReact Native面接トピック - [JavaScript の基礎](https://sharpskill.dev/ja/technologies/react-native/interview-questions/javascript-essentials.md): 25問, Junior - [React の基礎](https://sharpskill.dev/ja/technologies/react-native/interview-questions/react-fundamentals.md): 20問, Junior - [React Native の基礎](https://sharpskill.dev/ja/technologies/react-native/interview-questions/react-native-basics.md): 22問, Junior - [React Hooks](https://sharpskill.dev/ja/technologies/react-native/interview-questions/react-hooks.md): 20問, Junior - [React と React Native のための TypeScript](https://sharpskill.dev/ja/technologies/react-native/interview-questions/typescript-for-react-native.md): 22問, Junior - [React Native のコンポーネントと API](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-components-api.md): 20問, Junior - [React Native のスタイリングとレイアウト](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-styling-layout.md): 18問, Junior - [React Native ナビゲーション](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-navigation.md): 22問, Mid-Level - [React Native の状態管理](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-state-management.md): 24問, Mid-Level - [React Native のネットワーキングと API](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-networking-api.md): 20問, Mid-Level - [データの永続化](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-data-persistence.md): 20問, Mid-Level - [React Native アニメーション](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-animations.md): 22問, Mid-Level - [Native Modules & Bridge](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-native-modules.md): 20問, Mid-Level - [プラットフォーム固有のコード](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-platform-specific-code.md): 18問, Mid-Level - [権限とデバイスAPI](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-permissions-apis.md): 20問, Mid-Level - [Push Notifications](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-push-notifications.md): 18問, Mid-Level - [React Native のテスト](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-testing.md): 20問, Mid-Level - [React Native のデバッグ](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-debugging.md): 18問, Mid-Level - [Build & Deployment](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-build-deployment.md): 20問, Mid-Level - [Expo vs React Native Bare](https://sharpskill.dev/ja/technologies/react-native/interview-questions/expo-vs-bare-rn.md): 18問, Mid-Level - [パフォーマンス最適化](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-performance-optimization.md): 24問, Senior - [メモリ管理](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-memory-management.md): 20問, Senior - [Architecture Patterns](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-architecture-patterns.md): 22問, Senior - [React Native の New Architecture](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-new-architecture.md): 24問, Senior - [セキュリティのベストプラクティス](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-security-best-practices.md): 20問, Senior - [Offline-First Architecture](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-offline-first.md): 20問, Senior - [React Native の CI/CD](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-ci-cd.md): 20問, Senior - [Monorepoとコード共有](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-monorepo-architecture.md): 18問, Senior - [高度なトピック](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-advanced-topics.md): 22問, Senior - [アプリのライフサイクルとバックグラウンド実行](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-app-lifecycle-background.md): 20問, Mid-Level - [認証とセッション管理](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-auth-session-management.md): 22問, Mid-Level - [Monitoring & Crash Reporting](https://sharpskill.dev/ja/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/ja/technologies/react-native/interview-questions/rn-forms-validation