0
在一個項目中,我的意圖是隻使用一個Navigator元素來處理所有的頁面導航。onsen反應導航器pushpage覆蓋最後一頁
整個代碼中有一個單例appState
,而navigator
是其中的成員,它由最外層的App
組件初始化。
initialRoute = {
component: LoginPage,
props: {
}};
和
<Ons.Navigator
initialRoute={this.initialRoute}
renderPage={this.renderPage.bind(this)}
/>
和
renderPage(route: Route, navigator: typeof Ons.Navigator) {
const props: any = route.props || {};
if (appState.navigator == null) {
appState.navigator = navigator;
}
props.navigator = appState.navigator;
return React.createElement(route.component, route.props);
}
與
initialRoute
正確:
ReactDOM.render(
<App/>,
document.getElementById('app')
);
該導航儀的啓動。當我打電話給pushPage(newRoute)
時,顯然在添加時檢查新的路由。也就是說,推newRoute
之後我得到以下幾點:
LoginPage
HomePage
然而,pushPage(someOtherRoute)
的後續調用產生
LoginPage
SomeOtherRouteComponent
我希望
LoginPage
HomePage
SomeOtherRouteComponent
我已經證實沒有沒有同步等問題,當我把路由對象推到旁邊的列表時,我得到了一切,沒有任何損失。但只是pushPage
沒有按照我的預期工作。
任何想法,或缺少明顯的東西?片段是TS。