問題タブ [cubit]

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 に答える
148 参照

flutter - Flutter - キュービット - キュービット内のブール値を変更する

bool 値を cubit から変更したいのですが、その方法がわかりません。

たとえば、達成したいのは、if (cubit に格納されたブール値が true) "show widget A" : "show widget B" です。

私のコード:

意見:

おそらく些細な質問で申し訳ありませんが、Cubit/Bloc は初めてです。

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

flutter - Flutter で別のルート/ページからカウンターをインクリメントする方法

Bloc/Cubit (flutter_bloc) & Auto_Router パッケージを使用しています

/counter ルートにカウンターを配置し、/user_profile ルートに FloatingActionButtons を配置して、カウンターをインクリメントします。

別のページ/ルートからカウンターをインクリメントするにはどうすればよいですか? ページを前後に切り替えて、どちらのページからでも増減できるはずですが、次のエラー メッセージが表示されます。

例外が発生しました。ProviderNotFoundException (エラー: この UserProfilePage ウィジェットの上に正しいプロバイダーが見つかりませんでした

これBuildContextは、選択したプロバイダーを含まない を使用したために発生します。一般的なシナリオがいくつかあります。

  • に新しいプロバイダーを追加しmain.dart、ホット リロードを実行しました。修正するには、ホット リスタートを実行します。

  • 読み取ろうとしているプロバイダーは別のルートにあります。

    プロバイダーは「スコープ」です。そのため、ルート内にプロバイダーを挿入すると、他のルートはそのプロバイダーにアクセスできなくなります。

  • BuildContext読み取ろうとしているプロバイダーの祖先である を使用しました。

    UserProfilePage が MultiProvider/Provider の下にあることを確認してください。これは通常、プロバイダーを作成してすぐに読み取ろうとしたときに発生します。

    たとえば、次の代わりに:

    builder次のように使用することを検討してください:

これらの解決策のいずれもうまくいかない場合は、StackOverflow で助けを求めることを検討してください: https://stackoverflow.com/questions/tagged/flutter )

これが私のコードです:

home_page.dart

counter_cubit.dart

counter_page.dart

user_profile_page.dart

どんな助けでも大歓迎です。ありがとう!

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

flutter - ブロックの更新後にブロック オブザーバーを使用できない

ブロック 8.0.1 の最後の更新に問題があります。ブロック オブザーバーを使用できず、BlocOverrides を使用しましたが、まだ機能していません。これが私のコードです。

私のメインクラスコード

BlocObserver