問題タブ [flutter-navigation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1347 参照

flutter - Flutter inheritFromWidgetOfExactType() メソッド

2つの画面があるとしましょう。スクリーンワンとスクリーンツー。ScreenOne には、押すと ScreenTwo (Navigator.push) に移動するボタンがあります。ここまでは順調ですね。

また、ScreenTwo には戻るボタンがあり、このボタンの目的は ScreenOne (Navigator.pop) に戻ることです。しかし、このボタンを押すと、次のエラーが表示されます。

未処理の例外: 非アクティブ化されたウィジェットの祖先を検索することは安全ではありません。この時点で、ウィジェットの要素ツリーの状態は安定していません。dispose() メソッドでウィジェットの祖先を安全に参照するには、ウィジェットの didChangeDependencies() メソッドで inheritFromWidgetOfExactType() を呼び出して、祖先への参照を保存します。

この問題を解決するにはどうすればよいですか?

0 投票する
2 に答える
1051 参照

dart - Youtube や Instagram アプリのようなナビゲーション スタックを実装する方法は?

ボトム ナビゲーション バーを使用する Flutter でアプリを作成しようとしています。YouTube や Instagram アプリのように、以前にアクセスした画面をナビゲーション スタックに保持したい。たとえば、3 つの異なる下部ナビゲーション バー (A、B、C) があるとします。タブA、B、Cをそれぞれクリックした後、それぞれC、B、Aに戻りたいです。

これが私の主な目標ですが、実装できるかどうかという副次的な目標があります。

Instagram や Youtube で、A -> B -> C -> B -> C の順にタブをクリックすると (今はタブ C にいます)、その後、戻るボタンをクリックし始めると、C -> B に戻ります。 -> タブ。基本的に、各タブはナビゲーション スタックに 1 回配置できます。同じタブに複数回アクセスすると、同じタブの前の画面がナビゲーション スタックから削除されます。

この問題の解決策を 2 日間探していますが、見つかりませんでした。alibaba 開発者によって作成されたflutter-go アプリもテストしましたが、クリックして戻るボタンのアプリが閉じているだけです。

この問題について何か助けていただければ幸いです。