問題タブ [bloc]

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 投票する
2 に答える
6391 参照

dart - Flutterでブロックを使用してDropdownButtonの値を適切に設定するには?

私はブロックプログラミングパターンが初めてで、それをドロップダウンで使用すると問題が発生します。これは私のブロッククラスにあります:

ウィジェット ページに次のドロップダウン ウィジェットを追加して、すべてが Bloc クラスによって処理されるようにしました。

しかし、そのようにすると、DropdownButton の値 (値: snapshot.data) を設定すると、次のエラーが発生します。

設定時に snapshotValues.data が null でないかどうかを確認するなど、多くのアイデアを試しました。値はリストまたはnullからのものでなければならないことを私は知っています。しかし、私がそこに置いたロジックは、このエラーを解消しません。値を null に設定すると機能しますが、選択した値が表示されません。私はこれを間違っていますか?うまくいくより良い方法はありますか?この問題を解決するにはどうすればよいですか? ありがとう!

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

sql - BLoC パターンで sink.fromFuture を呼び出すにはどうすればよいですか?

私はこの状況で立ち往生しています:私はデータベースを処理するために BLoC パターンを利用しようとしていますが、ストリームのシンクで .fromFuture を呼び出す方法がわからない場合

コードは次のとおりです。

エラーは明らかに述べています

手伝って頂けますか?事前にありがとうフランチェスコ

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

visual-studio-code - VS Code の問題でフラッター: StreamController.Sink.add() が突然引数 PUSH を必要とする

こんにちは、皆さん、VS Code で突然問題が発生しました。いくつかの Flutter アプリで Streamcontroller.sink.add(); 突然引数「プッシュ」が必要になります(そうなる前に)。 住む

push 引数を追加しないと、明らかにエラーが返されます

何が起こったのか知っている人はいますか?助けてくれてありがとうフランチェスコ

編集: f12 を介して、定義は実際に引数 push を示します

しかし、pskink が思い出したように、ドキュメントにはこの要件が示されていません。これがどのように変更されたのかわかりません。現時点での質問は次のとおりです。

正常に戻すにはどうすればよいですか?

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

dart - ウィジェットを非表示および再表示するブロック パターン

インターネットからデータを取得してリストに表示しようとしています。

以下は私のblocコードです

以下は、unideウィジェットを非表示にするための私のメインコードです

buildListメソッドはbodyof で呼び出されますScaffold

アプリを開いたときにユーザーがインターネットを使用していると仮定すると、circularprogressindicatorデータのリストが表示されますが、最初にアプリを開いてユーザーがインターネットを使用していないと仮定すると、利用可能なネットワークがありませんというテキストと再試行するボタン。ユーザーがインターネットに接続してから再試行するボタンをクリックすると、数秒後にデータのリストが直接表示されますcircularprogressindicator。データのリストを表示する前に再試行ボタンがクリックされました。NoInternetviewsprogressindicator

再試行ボタンを呼び出してもストリームが更新されません。StreamBuilderwithinの注意事項はありますStreamBuilderか?

回答で@ivenxuが述べたように順序を変更しようとしStreamBuilderましたが、それでも機能しません。以下は添付コードのリンクです https://drive.google.com/file/d/15Z8jXw1OpwTB1CxDS8sHz8jKyHhLwJp7/view?usp=sharing https://drive.google.com/open?id=1gIXV20S1o5jYRnno_NADabuIj4w163fF

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

dart - rxdart で obseravble のリストをフィルタリングする方法

rxdart にブロックパターンを実装しようとしています。todo app タイプの app をビルドしようとしています。リストにすべてのアイテムを表示するように実装しましたが、完成したアイテムと未完成のアイテムを別の部分に表示したくありません。ただし、 rxdart の完了に基づいてアイテムをフィルタリングすることはできません。

私が欲しかったのは、完成した shoppingItems を取得することです。クラス ShoppingItem にはブール値のプロパティ completed があります。その上でフィルタリングしたかったのです。

どんな助けでも感謝します

0 投票する
3 に答える
772 参照

dart - BLoC 状態管理パターン (フラッター)

Google は、BLoC パターンを使用して Flutter アプリの状態を管理することを提案しています。と一緒に読んだことがありますがrxdart、これは状態を管理する最も便利で完全な方法です。ですから、そのパターンを理解し、学びたいと思います。

残念ながら、完全で網羅的なドキュメントはないようです。誰かがこのパターンと Flutter アプリでのその実装を明確に説明できますか?

ありがとう!

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

dart - Flutter: アイテムを変更してもリスト ビューが更新されない

BloC アーキテクチャ パターンを使用して「todo」フラッター アプリを開発しています。

私の「ホーム」UI は todo リストを表示し、ユーザーは項目のボタンをクリックしてステータスを「todo」から「完了」に変更できます。

項目が完了したら、完了していない他の Todo とは異なる別の色で表示する必要があります。

しかし、「完了」ボタンをクリックしても、リスト ビューが更新されません。

以下は私のUIコードです:

そして、ここに私のBloCクラスがあります:

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

flutter - Flutter Bloc: 更新後に BlocBuilder が呼び出されず、ListView に古いデータが引き続き表示される

状態管理に flutter_bloc を使用していて、この問題に遭遇しました。フィールドを更新して保存すると、BlocBuilder がページを更新しません。追加または削除時に正常に機能しています。ここで何が間違っているのかわかりません。

別の画面に移動してこの画面に戻っても、ファイルが更新されているにもかかわらず、古いデータが表示されます。

これを無駄にデバッグしようとして2時間以上費やしました。初期化してupdatedTodos = []から、各 todo を 1 つずつ追加して、それが何かを行うかどうかを確認しようとしましたが、それもうまくいきませんでした。

ここで何か助けていただければ幸いです。

TodosBloc.dart:

todos_screen.dart:

BlocBuilder がいつ呼び出され、ListView が更新されるかを期待しています。

0 投票する
3 に答える
5170 参照

flutter - Flutter BLoC: build() メソッドの StreamBuilder の Navigator.pop

私は BLoC パターンに従い、ストリームをサブスクライブし、ビルド メソッドの状態変化に反応しています。データが読み込まれたら画面を閉じたい。

メソッドで行うNavigator.pop(context, true);と、次のようになります。build()

BLoCパターンでそのようなケースを処理する正しい方法は何ですか?

私が思いついた解決策の 1 つは、でストリームを聴き始めることですinitState()。この場合broadcast()、2 人のサブスクライバーがいるため、ストリームが必要です。

これに対するより良い解決策はありますか?

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

dart - 1 つの StreamBuilder で 2 つの異なるストリームを使用する

1 つの Stream Builder で 2 つの異なるストリームを使用することは可能ですか? または、この問題にどのように対処すればよいですか?

両方に1つのストリームを使用しようとしましたが、テーマデータのBehaviorSubjectはThemeDataモデルであり、languageStreamの文字列であり、うまくいきません。

これらは私が使いたいストリームです

ブロックは次のようになります。

もう1つはこのように

アプリ全体に影響するため、両方のストリームをメイン ページに配置する必要があります。