В Flutter Соединение между setState (), методом сборки, buildContext и Context - PullRequest
0 голосов
/ 09 апреля 2020

Я действительно запутался в setState (), методе сборки, buildcontext и контексте во флаттере. Позвольте мне напечатать то, что я знаю, и, пожалуйста, поправьте меня, если я ошибаюсь.

Виджеты без состояния: это виджеты, которые не изменяются при введении новых изменяющихся данных.

Виджеты с состоянием: эти виджеты изменяются с введением новых данных. Теперь, как они это делают, выглядит следующим образом:

данные, представленные в setState () , читаются трепетанием (не знаю точного термина) -> Это делает изменения в бэкэнде -> вызывают метод построения до перестройки виджетов , которые находятся под ним -> метод построения с помощью context помнит, где все принадлежало, и помещает все в назначенные места.

Что я знаю о context и contextbuilder:

Допустим, виджет похож на маленького ребенка, который не знает, кто он. В этом случае контекст будет тем, что мы сообщаем тому виджету (дочернему элементу), к которому он принадлежит, то есть родительскому (родительский виджет). и когда мы говорим Theme / Scaffold.of () , мы в основном имеем в виду, что go вверх по родительской лестнице виджета (семейному дереву) по родительскому элементу и ищем тот конкретный c виджет, который создал вас (Scaffold) и попросите его выполнить эту функцию.

ЕСЛИ РОДИТЕЛЬ МОЖЕТ, ЭТО ВЫПОЛНИТ ФУНКЦИЮ. ЕСЛИ ФУНКЦИЯ НЕ СУЩЕСТВУЕТ, ЭТО БУДЕТ ВЫКЛЮЧИТЬ ОШИБКУ, СКАЗЫВАЯ, ЧТО Я НЕ ИМЕЮ ВОЗМОЖНОСТЬ ДЕЛАТЬ, ЧТО УКАЗАТЬ C ВЕЩЬ ДЛЯ ВАС.

...