プロジェクトでは、1 つの Navigator 要素のみを使用してすべてのページ ナビゲーションを処理することを意図しています。
appState
コード全体に1 つのシングルトンがありnavigator
、そのメンバーであり、最も外側のApp
コンポーネントによって初期化されます。
ReactDOM.render(
<App/>,
document.getElementById('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
。を呼び出すとpushPage(newRoute)
、追加時に確認すると、どうやら newRoute が追加されているようです。つまり、を押した直後に次のようになりますnewRoute
。
LoginPage
HomePage
ただし、その後の yield のpushPage(someOtherRoute)
呼び出し
LoginPage
SomeOtherRouteComponent
私は期待するだろう
LoginPage
HomePage
SomeOtherRouteComponent
同期などに問題がないことを確認しており、ルートオブジェクトをアサイドリストにプッシュすると、すべてロスなく取得できます。しかし、pushPage
期待どおりに機能していません。
任意のアイデア、または明らかな何かが欠けていますか? スニペットは TS です。