React Native

Monorepo & Code Sharing

Yarn workspaces, nx, shared packages, React Native Web, code reuse strategies

18 questions d'entretien·
Senior
1

Qu'est-ce qu'un monorepo dans le contexte du développement React Native ?

Réponse

Un monorepo est une architecture où plusieurs projets ou packages sont stockés dans un seul dépôt Git. Dans le contexte React Native, cela permet de partager du code entre une application mobile, une application web (React Native Web) et des packages utilitaires. Les avantages incluent une gestion centralisée des dépendances, des refactoring atomiques et une cohérence du code entre les plateformes.

2

Quel est le rôle principal des Yarn workspaces dans un monorepo React Native ?

Réponse

Les Yarn workspaces permettent de gérer plusieurs packages dans un seul dépôt avec un unique node_modules hoisted à la racine. Cela réduit la duplication des dépendances, permet le symlinking automatique entre packages locaux, et facilite les scripts globaux. Dans un monorepo React Native, cela permet de lier automatiquement les packages partagés à l'application mobile et web.

3

Comment configurer un monorepo basique avec Yarn workspaces pour React Native ?

Réponse

La configuration de base nécessite un package.json à la racine avec le champ workspaces définissant les patterns des packages. Typiquement, on utilise packages/* ou apps/* pour les applications et packages/* pour les librairies partagées. Le champ private doit être à true pour éviter la publication accidentelle du package racine. Metro bundler nécessite aussi une configuration pour résoudre les symlinks.

4

Quel problème le hoisting des dépendances peut-il causer dans un monorepo React Native ?

5

Qu'est-ce que Nx et quel avantage principal apporte-t-il par rapport aux Yarn workspaces seuls ?

+15 questions d'entretien

Maîtrise React Native pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement