/ / Jak korzystać z respons.js na wielostronicowej stronie internetowej (Non SPA)? - javascript, laravel, Reagjs, Browserify

Jak korzystać z reakt.js w witrynie wielostronicowej (Non SPA)? - javascript, laravel, reactjs, browserify

Mam aplikację Laravel. W przypadku stron z takim routingiem: /admin/entity/ Chcę używać reagujących komponentów z routerem reagującym na obsługę /admin/entity/:id trasa.

Jeśli użyję Browserify, aby spakować wszystkie komponenty w jednym pliku, nie mogę uzyskać dostępu do żadnego komponentu, aby renderować go z zewnątrz, ponieważ Browserify otacza go do zamknięcia. Mam więc kilka pytań:

  • Czy powinienem utworzyć osobny plik bundle.js dla każdej strony i jawnie renderować komponenty w tym pliku?
  • Czy powinienem wstępnie skompilować każdy komponent z jsx do js i renderować go z poziomu *.blade.php plik?
  • Czy warto dołączyć bibliotekę reagującą na plik bundle.js, czy mogę załadować ją jawnie z widoku?

    Odpowiedzi:

    1 dla odpowiedzi № 1

    Oto moje opinie:

    • Powinieneś umieścić React i cały swój kod na wszystkich stronach, które będą miały część renderowaną przez komponenty React (z tego, co zbieram, /admin/entity).
    • Twój komponent React powinien zawsze być renderowany do określonego elementu (np. Pustego) <div>) i powinien mieć coś takiego React Router skonfigurowane tak, aby ignorowało /admin/entity ale renderuje /admin/entity/:id. Twoje wyzwanie polega na tym, że wszelkie linki prowadzące do innych :id Adres URL powinien optymalnie znajdować się w komponentach React, używając Link składniki. Spowoduje to automatyczne połączenie routera.

    Twoje trasy prawdopodobnie będą wyglądać tak:

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

    Wierzę w to, kiedy ty run router, jeśli adres URL przeglądarki nie jest w oczekiwanym formacie, React nie wyrenderuje niczego.