FilledStacks / FilledStacks/flutter-tutorials
Partial View Building - Rebuilds everything
Offen
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Dart
- Sterne
- 4.8k
- Forks
- 1.7k
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
#PartialbuildsView rebuilds everything
class PartialBuildsView extends StatelessWidget {
const PartialBuildsView({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return ViewModelBuilder<PartialBuildsViewModel>.nonReactive(
builder: (context, model, child) {
print('PartialBuildsView rebuilt');
return Scaffold(
body: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
_StringForm(),
_TitleAndValue(),
],
),
);
},
viewModelBuilder: () => PartialBuildsViewModel(),
);
}
}
class _StringForm extends HookViewModelWidget<PartialBuildsViewModel> {
_StringForm({Key key}) : super(key: key, reactive: false);
@override
Widget buildViewModelWidget(
BuildContext context,
PartialBuildsViewModel model,
) {
print('_StringForm rebuilt');
var text = useTextEditingController();
return TextField(
controller: text,
onChanged: model.updateString,
);
}
}
class _TitleAndValue extends ViewModelWidget<PartialBuildsViewModel> {
const _TitleAndValue({Key key}) : super(key: key, reactive: true);
@override
Widget build(
BuildContext context,
PartialBuildsViewModel model
) {
print('_TitleAndValue rebuilt');
return Column(
children: <Widget>[
Text(
model.title ?? '',
style: TextStyle(fontSize: 40),
)
],
);
}
}
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Beispiel mit PartialBuildsView, _StringForm und _TitleAndValue nachzubilden, und untersuche anschließend das reaktive Verhalten von ViewModelBuilder.nonReactive und HookViewModelWidget. Als erledigt gilt die Aufgabe, wenn das Aktualisieren des Strings die nicht-reaktive Ansicht und das Formular nicht neu rendert, während der Titel/Wert-Abschnitt weiterhin aktualisiert wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- dart, flutter
- Bereich
- mobile
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100