/ / Comment utiliser react.js avec un site Web de plusieurs pages (Non SPA)? - javascript, laravel, reactjs, browserify

Comment utiliser react.js avec un site Web comportant plusieurs pages (non SPA)? - javascript, laravel, reactjs, browserify

J'ai une application laravel. Pour les pages avec un tel routage: /admin/entity/ Je veux utiliser des composants React avec un routeur React pour gérer /admin/entity/:id route.

Si j'utilise browserify pour regrouper tous les composants dans un fichier, je ne peux pas accéder à aucun composant pour le rendre de l'extérieur depuis que browserify l'enveloppe jusqu'à la fermeture. Ainsi, j'ai quelques questions:

  • Dois-je créer un fichier bundle.js distinct pour chaque page et rendre les composants explicitement dans ce fichier?
  • Ou devrais-je précompiler chaque composant de jsx en js et le rendre en ligne à partir de *.blade.php fichier?
  • Est-il judicieux d'inclure la bibliothèque React dans bundle.js ou je peux la charger explicitement depuis la vue?

    Réponses:

    1 pour la réponse № 1

    Voici mes des avis:

    • Vous devez regrouper React et tout votre code dans toutes les pages qui auront une partie rendue par les composants React (D'après ce que je comprends, /admin/entity).
    • Votre composant React doit toujours être restitué à un élément spécifique (par exemple, un élément vide <div>) et devrait avoir quelque chose comme un Réagir Routeur configuré pour ignorer /admin/entity mais rend /admin/entity/:id. Votre défi est que tout lien pointant vers un autre :id L'URL doit être de manière optimale à l'intérieur des composants React, en utilisant Link Composants. Cela connectera automatiquement votre routeur.

    Vos itinéraires ressembleront probablement à ceci:

    <Route path="admin/entity/:id" handler={Entity} />
    

    Je crois que lorsque vous run le routeur, si l'URL du navigateur n'est pas au format attendu, React ne rendra rien.