これが私のコードの一部ですが、結論にジャンプする前に質問を読んでください:
class RescheduleCard extends StatelessWidget {
@override
Widget build(BuildContext context)=> Consumer<AppSnapshot>(
builder: (context, appSnapshot, _)=>
(appSnapshot.reschedule!=null)
?RescheduleBuilder(
model: appSnapshot.reschedule,
controllers: appSnapshot.controllers,
)
:Carouselcard(
title: carouselPageTitle(title: rescheduleTitle,test: appSnapshot.test),
colors: yellows,
_
だから私はプロバイダの新しいものによくあり、私はBlocに慣れていました、私のAPIは一度プロバイダに電話をかけてモデルを設定します。
編集:これは「再スケジュール」に関心を持つものにトリップしたプロバイダです...
class AppSnapshot with ChangeNotifier {
RescheduleModel _reschedule;
RescheduleModel get reschedule => _reschedule;
void cleanReschedule() {
reschedule=null;
notifyListeners();
}
set reschedule(RescheduleModel reschedule) {
_reschedule=reschedule;
notifyListeners();
}
}
_
再編集:すべての上に:
void main() async {
final AppSnapshot _appSnapshot = AppSnapshot();
await _appSnapshot.load();
runApp(ChangeNotifierProvider(
builder: (context) => _appSnapshot,
child: Initializer()));
}
_
私は「消費者」が私のウィジェットを再構築することを期待していますが、そうではありません!
ウィジェットがカルーセル内にあるため、データがそこにあると確信しています。
何が行方不明ですか?ありがとうございました
再編集:プロバイダがQuilckly Works Works applytherがリアルタイムで適用される別のカルーセルカードの例です。
Consumer<AppSnapshot>(
builder: (context, appSnapshot, _)=> Carouselcard(
title: carouselPageTitle(title: optionsTitle,test: appSnapshot.test),
colors: lightBlues,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
((appSnapshot.id??'')!='') // ID WIDGET
? ListTile(
leading: CustomIcon(
icon: deleteIcon,
onTap: () => appSnapshot.deleteID(),
),
title: _customCard(onTap:()=> _showID(id: appSnapshot.id,context: context)),
subtitle: Text(tap2delete,textScaleFactor:0.8),
)
: IdTile(),
_
これによると 記事FutureProvider
が変更を待っていないため、将来が完了したらConsumers
1の時間のみが再構築されます。
この記事では、著者がこれをどのようにテストしたかについて説明します。
DARTプロバイダパッケージの開発者も ユースケースを説明しますFutureProvider
です。
Main.Dart.Dart.Dart.Dart.Dartの種類
void main() async {
final AppSnapshot _appSnapshot = AppSnapshot();
await _appSnapshot.load();
runApp(ChangeNotifierProvider< **AppSnapshot** >(
builder: (context) => _appSnapshot,
child: Initializer()));
}
_