J'expérimente avec réagir dans une application Angular. J'utilise actuellement ngReact pour charger les composants de réaction dans mon application angulaire.Comment partager React Router à travers différentes mini-applications dans la même application
J'utilise react-router (2.8.1) pour une section de mon application. J'ai créé une autre section et je veux aussi utiliser le routeur de réaction. Malheureusement, je rencontre des problèmes, le seul routeur qui fonctionne et est reconnu est le premier routeur que je visite. Voici ce que j'ai observé.
- Les deux routeurs se chargent lorsque mon application charge la page d'accueil. Comment puis-je savoir? J'ai ajouté une propriété à l'objet Router et console.logged les propriétés dans les fichiers que les routeurs sont créés.
- Si je visite d'abord le routeur A, le routeur A fonctionne! Lorsque je visite la page en utilisant le routeur B, le routeur B ne semble pas être reconnu et ne fonctionne pas, j'obtiens l'erreur "Attention: [router-router] Emplacement"/RouteB "ne correspond à aucun itinéraire". Ce solution did not work.
- Dois-je refactoriser mes routeurs dans un fichier volumineux qui inclut toutes mes routes que j'utilise avec le routeur de réaction? Il semble que j'ai besoin de refactoriser tout ou il me manque quelque chose.
- Je suis plus familier avec le routage backend, en particulier en utilisant express.Router où une instance est créée et le routeur n'est pas partagé.
Voici des extraits de mes deux routeurs qui sont utilisés dans différentes sections de mon application.
Routeur A:
import React from 'react';
import {Router, Route, browserHistory, IndexRoute} from 'react-router';
/* Note, additional import statements for components */
const Routes =() => (
<Router history={browserHistory}>
<Route path="/RouteA">
<IndexRoute component={UserIndex} />
<Route path=":RouteAId">
<IndexRoute component={index} />
<Route path="user" component={user} />
<Route path="profile" component={profile} />
<Route path="preview" component={previewUpdate} />
<Route path="interest/:interestId/resume" component={CoverLetterRoute} />
</Route>
<Route path="*" component={NoMatch} />
</Route>
</Router>
);
export default Routes;
Routeur B:
import React from 'react';
import {Router, Route, browserHistory, IndexRoute} from 'react-router';
import Main from '../components/Main';
const Routes =() => (
<Router history={browserHistory}>
<Route path="/onboarding" component={Main} />
</Router>
);
export default Routes;
Est-il possible d'avoir deux routeurs distincts comme celui-ci? Dois-je charger tous mes itinéraires dans un Router
? S'il vous plaît commenter si vous avez besoin de plus d'informations.