問題タブ [flutter-reactive-forms]
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.
forms - react_forms Flutter - グループの作成とレンダリング
グループを例としてレンダリングする方法を理解するのが難しい(https://github.com/joanpablo/reactive_forms#groups-of-groups-grin):
使用しています
しかし、エラーがスローされます:
私の目的は、以下のような出力を得ることです:
ガイダンスやアドバイスをいただければ幸いです。
flutter - Flutter - Cubit - ロードされた状態 - ページへのリダイレクトの管理 - ページの 2 つのビルドが作成されます
英語で申し訳ありませんが、私はフランス人です。
Flutter (dart) で開発していますが、フォームの送信 (「リアクティブ フォーム」パッケージを使用しますが、クラシック フォームも使用) とステップの後にページにリダイレクトするときに、Cubit (Bloc) を使用してコードで奇妙な動作が発生します。 Cubit がロードされた状態: ページへの 2 つの呼び出し (2 つのビルド) が見られます。これは一種の「フラッピング」効果をもたらします。これは、最終ユーザーがインターフェイスの充電を 2 回見ることを意味します。
Flutter での初めてのアプリケーションです。
ログインフォームを含むアプリケーションを作成しました。フォームが送信されると、別のフォームを印刷します。
アプリケーションの開始時に「auto_route」パッケージを使用していましたが、ログイン プロセス後にテキスト フィールド内をクリックするたびにページが更新されました。そのため、テキスト フィールド内に何も書き込むことができませんでした。
問題は「Reactive forms」パッケージにあると考えていたので、このパッケージの github リポジトリに問題を開きました: issue open
しかし、どこに問題があるのか分からなかったので、アプリケーションのより基本的な開発に戻り、「リアクティブ フォーム」パッケージの管理者に問題を説明するために、ページ ルーティングを管理するためのより基本的な方法に戻りました。 、本当に私を助けようとした本当にいい人。
しかし、メンテナーでさえ、なぜ私がこの問題を抱えているのか理解できません。
これで、より単純なコードを 1 ページにまとめました。
現時点では、テキスト フィールド内をクリックしても問題はありませんが、インターフェイスが 2 回ビルドされ、Cubit がロードされた状態になっていることがわかります。これが、最初の問題が発生した理由を説明している可能性があります。
そのため、元のコードをデバッグする前に、インターフェイスが 2 回ビルドされる理由を理解しようとしています。
私の主な問題は、キュービットのロード状態が同期ウィジェットの戻りを待っていることだと思いますが、別のページにリダイレクトしようとすると、非同期アクションが必要になります (「auto_route」パッケージまたはより単純に「Navigator.push()」アクションを使用する) )。
しかし、クラシック ウィジェットを待機する Cubit ロード状態内で Future を呼び出す方法がわかりません。
私はこれを試しました:
したがって、返されたウィジェット「return Container()」は、Navigator.push() がもう一度インターフェイスを構築した後に、一度インターフェイスを構築すると思います。「Navigator.push」を直接返そうとしましたが、エラーが発生しました(ウィジェットではないため)。
この問題の助けをいただければ幸いです。ありがとう。
これが私の完全なコードです(より単純なバージョン)。
私の pubspec.yaml ファイル:
私のコード:
私の「flutter doctor -v」の結果: