# Monorepoとコード共有 (React Native) > Yarn workspaces、nx、shared packages、React Native Web、コード再利用戦略 - 18 面接問題 - Senior - [面接問題: React Native](https://sharpskill.dev/ja/technologies/react-native/interview-questions.md) ## 1. React Native開発における monorepo とは何ですか? **回答** monorepoとは、複数のプロジェクトやパッケージを単一のGitリポジトリに格納するアーキテクチャです。React Nativeの文脈では、モバイルアプリ、Webアプリ(React Native Web)、ユーティリティパッケージ間でコードを共有できます。利点には、依存関係の一元管理、アトミックなリファクタリング、プラットフォーム間でのコードの一貫性が含まれます。 ## 2. React Native の monorepo における Yarn workspaces の主な役割は何ですか? **回答** Yarn workspaces を使うと、ルートに単一の hoisted な node_modules を持つ単一リポジトリで複数のパッケージを管理できます。これにより依存関係の重複が減り、ローカルパッケージ間の自動シンボリックリンクが可能になり、グローバルスクリプトが容易になります。React Native の monorepo では、共有パッケージをモバイルアプリと Web アプリの両方に自動的にリンクできます。 ## 3. React Native 向けに Yarn workspaces で基本的な monorepo を設定するにはどうすればよいですか? **回答** 基本設定では、パッケージのパターンを定義する workspaces フィールドを持つルートの package.json が必要です。一般的にはアプリケーションに packages/* または apps/*、共有ライブラリに packages/* を使用します。ルートパッケージの誤った公開を防ぐため、private フィールドは true に設定する必要があります。Metro bundler もシンボリックリンクを正しく解決するための設定が必要です。 ## さらに15問利用可能 - React Native の monorepo で依存関係の hoisting はどのような問題を引き起こす可能性がありますか? - Nx とは何ですか。また、Yarn workspaces 単体と比べて主にどのような利点をもたらしますか? 無料で登録: 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 - [フォームとバリデーション](https://sharpskill.dev/ja/technologies/react-native/interview-questions/rn-forms-validation.md): 18問, 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 - [高度なトピック](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-monorepo-architecture