【解決方法】Ionic6系のIonTabsで色々エラーが発生したのでその時の対処について
2021年1月22日
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
IonTabs系で色々エラーが発生したため解決のための手順をメモしました。
環境
Mac 11.1
Ionic 6.12.3
よく発生するエラー
logError: IonTabs must contain an IonRouterOutlet
IonTabの利用する上での仕様
色々触ってみて条件にマッチしないとエラーが発生するようでした。
IonRouterOutletの外にIonTabsを入れる必要があるIonTabs内にIconTabBarが必須IonRouterOutletは入れ子にできる
これを踏まえてやりたいことをやるためには
exactは path に対して完全一致の必要。 /tab3 は Tab3 のコンポーネントを表示しその他は Index コンポーネントを表示
App.tsximport Index from 'Index.tsx';
import Tabs3 from 'Tab3.tsx';
const App: React.FC = () => (
<IonApp>
<IonReactRouter>
<IonRouterOutlet>
<Route path='/' component={Index} />
<Route path='/tab3' component={Tab3} exact={true} />
</IonRouterOutlet>
</IonReactRouter>
</IonApp>
);
Index コンポーネント内で更に IonRouterOutlet と IonTabBar を記述。
IonRouterOutlet 内で更にルーティングの設定。
Index.tsximport Tabs1 from 'Tab1.tsx';
import Tabs2 from 'Tab2.tsx';
const Index: React.FC = () => (
<IonTabs>
<IonRouterOutlet>
<Route path='/tab1' component={Tab1} exact={true} />
<Route path='/tab2' component={Tab2} exact={true} />
</IonRouterOutlet>
<IonTabBar slot='bottom'>
<IonTabButton tab='Tab1' href='/Tab1'>
<IonLabel>Tab1</IonLabel>
</IonTabButton>
<IonTabButton tab='Tab2' href='/Tab2'>
<IonLabel>Tab2</IonLabel>
</IonTabButton>
<IonTabButton tab='Tab3' href='/Tab3'>
<IonLabel>Tab3</IonLabel>
</IonTabButton>
</IonTabBar>
</IonTabs>
);
Tab1 - Tab3のコンポーネント
Tab{n}.tsxconst Tab{n}: React.FC = () => (
<React.Fragment>>
Tab{n}
</React.Fragment>>
);
article【設定方法】ionic6のreactでwebpackの設定を変更する(webpack.configの上書き)
article2021年1月22日【解決方法】Ionic6系のIonTabsで色々エラーが発生したのでその時の対処について
article【インストール手順】Ionic6系を使ってみたのでインストールまでの手順についてをメモ
articleSvelte のコンパイル出力を読み解く:仮想 DOM なしで速い理由
articleTauri で Markdown エディタを作る:ライブプレビュー・拡張プラグイン対応
articleStorybook で“仕様が生きる”開発:ドキュメント駆動 UI の実践ロードマップ
articleshadcn/ui で B2B SaaS ダッシュボードを組む:権限別 UI と監査ログの見せ方
articleSolidJS の Control Flow コンポーネント大全:Show/For/Switch/ErrorBoundary を使い分け
articleRemix で管理画面テンプレ:表・フィルタ・CSV エクスポートの鉄板構成
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来