問題タブ [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.
flutter - Flutter - キュービット - キュービット内のブール値を変更する
bool 値を cubit から変更したいのですが、その方法がわかりません。
たとえば、達成したいのは、if (cubit に格納されたブール値が true) "show widget A" : "show widget B" です。
私のコード:
意見:
おそらく些細な質問で申し訳ありませんが、Cubit/Bloc は初めてです。
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
どんな助けでも大歓迎です。ありがとう!
flutter - ブロックの更新後にブロック オブザーバーを使用できない
ブロック 8.0.1 の最後の更新に問題があります。ブロック オブザーバーを使用できず、BlocOverrides を使用しましたが、まだ機能していません。これが私のコードです。
BlocObserver