我正在嘗試在Angular應用程序中做出反應。我目前使用ngReact加載我的角度應用程序中的反應組件。如何在同一應用程序內的不同迷你應用程序之間共享React Router
我使用react-router (2.8.1)作爲我的應用程序的一部分。我創建了另一個部分,並希望使用react-router。不幸的是,我遇到了問題,唯一能工作並被識別的路由器是我訪問的第一臺路由器。這是我觀察到的。
- 這兩個路由器加載時,我的應用程序加載主頁。我怎麼知道?我向路由器對象和控制檯添加了一個屬性。在路由器創建的文件中記錄屬性。
- 如果我先訪問路由器A,則路由器A正常工作!當我使用路由器B訪問該頁面時,路由器B似乎不被識別並且不起作用,我得到錯誤「警告:[react-router]位置」/ RouteB「與任何路由都不匹配」。這solution did not work。
- 我是否需要將我的路由器重構爲一個大文件,其中包含我使用react-router的所有路由?這似乎是我需要重構一切,或者我錯過了一些東西。
- 我對後端路由更加熟悉,特別是使用express.Router創建實例並且不共享路由器。
這裏是我的兩個路由器的片段,用於我的應用的不同部分。
路由器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;
路由器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;
是否有可能有兩個單獨的路由器也是這樣嗎?我是否需要將所有路線加載到一個Router
?如果您需要更多信息,請發表評論。