Size: a a a

Dart & Flutter по-русски

2020 March 22

EE

Evgenii Elchev in Dart & Flutter по-русски
Павел
ну то есть других вариантов нет? Я правильно понял, что либо InheritedWidget либо остальные варианты. Они вроде на нем и основаны?
А какие ещё другие варианты ты хочешь использовать?) кажется со времён изобретения программирования что бы что то использовать где то надо было его туда как то передать.
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Ты можешь передать через конструктор. Либо через свойства. Контекст и инхерит и провайдер просто помогает внедрить через свойство. Делая это на всю глобину дерева
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Или через контекст
источник

П

Павел in Dart & Flutter по-русски
Билд функции внутри виджета зло?
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Павел
Билд функции внутри виджета зло?
В смысле?
источник

П

Павел in Dart & Flutter по-русски
источник

П

Павел in Dart & Flutter по-русски
тут доступ и к context будет и к стейту
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Смотря как реализуешь.
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Если они будут const возвращать, то не зло. Если будут каждый раз заново собирать то зло
источник

П

Павел in Dart & Flutter по-русски
а вот и неизвестно) вдруг компилятор не как у JS
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Павел
тут доступ и к context будет и к стейту
Ещё раз. У тебя каждый виджет. В build методе, автоматом получает контекст. Какие проблемы с получением контекста у тебя возникают?
источник

П

Павел in Dart & Flutter по-русски
не будет каждый раз собирать функции
источник

П

Павел in Dart & Flutter по-русски
Evgenii Elchev
Ещё раз. У тебя каждый виджет. В build методе, автоматом получает контекст. Какие проблемы с получением контекста у тебя возникают?
Может затупил) Да бог  сним контекстом, еще же куча полей стейта
источник

П

Павел in Dart & Flutter по-русски
колбеки
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
Павел
не будет каждый раз собирать функции
Я бы на это не надеялся.
источник

П

Павел in Dart & Flutter по-русски
второй вариант - выношу билд функции за пределы build метода
источник

EE

Evgenii Elchev in Dart & Flutter по-русски
На край компилятор может инлайнить функцию, но врядли кэшировать) тем более тут есть специальный кейворд const
источник

П

Павел in Dart & Flutter по-русски
хотя все равно при перерисовке будут инициализироваться !
источник

П

Павел in Dart & Flutter по-русски
так что собирать из стейтлес все?
источник

П

Павел in Dart & Flutter по-русски
как ты бьешь верстку?
источник