Программирование : Dart & Flutter по-русски
Павел
[
{
"type": "link",
"text": "https://bloclibrary.dev/#/fluttercountertutorial"
}
]
Павел
я только запустил пример с счетчиком. Начинать надо с простого)
Igor
yield state - 1; // тут же state Int
Павел
цель вернуть строку?
Igor
там у меня массив из постом с сервера
Павел
у тебя в mapEvent есть state объект
Павел
возвращай любое его поле. Если объект сложный
Павел
если простой как счетчик то и объект типа int
Павел
это как в редакс примеры с простыми стейтами
Павел
дай код стейт класса
Павел
[
{
"type": "link",
"text": "https://i.imgur.com/pG2UtQB.png"
}
]
atyourservice
Написана же ошибка
atyourservice
Неправильная сигнатура
atyourservice
Стейта нет в аргументах
???????
Ты зачем добавил второй аргумент в mapEventToState?
???????
Он принимает только 1 аргумент - Event
???????
А возвращает Stream
???????
В этом суть этой функции
???????
Нет не возвращает
???????
Это в консоль ты выводишь "то что тут"
Павел
так ну со счетчиком конечно слишком просто) Допустим я хочу сделать модульно. Для каждой логической единицы проекта свой стейт. Создаю несколько классов стейтов и всех через MultiBlocProvider подключаю?
???????
Если прям совсем с провайдером плохо - возьми GetIT вместо него.
???????
Но это такое себе
Павел
а вот список событий через enum? или еще есть варианты?
???????
Эвент и Стейт могут быть любым типом
???????
Хоть строкой, хоть числом, хоть сложным объектом, хоть енам
Павел
а event payload не несет получется
Igor
Ну а как тогда мне взять публикации из стейт и к ним новые добавить?
Юрий
Кто знает как в mobx dart сделать debounce?
???????
[
{
"type": "code",
"text": "myState.posts"
}
]
???????
дебаунсер можешь из rxdart взять
Павел
разве не state зафиксирована в mapEvent ?
Юрий
Есть ссылка? или как найти пример реализации? Не представляю как это поженить
???????
Вот выбрал ты на форме какоето значение и надо тебе это дело на сервер отправить. Вот эвент уже и несет пэйлоад
???????
Как поженить не подскажу, не любитель мобх. Но сам дебаунсер и его корешей можешь взять из rxdart: debounce sample throttling И все тоже самое с постфиксом Time
???????
[
"А не брешешь?\n",
{
"type": "link",
"text": "https://t.me/rudart/163516"
},
""
]
atyourservice
Вот ты начал с туториала каунтер Так ты продолжи и другие прочитай, все понятнее станет, зачем тратить свое и чужое время, задавая вопросы здесь?
Karen
в пхп так не делают
atyourservice
Их же там штук 10 на любой случай жизни
Igor
Завтра ещё раз гляну
Павел
должен быть post и props
atyourservice
Продублирую в вечерний чат, может, сейчас найдется знающий человек
atyourservice
Если здесь есть ASP.Net Core разработчики, писавшие на акведуке, могут ли они рассказать об отличиях?
atyourservice
Если конкретнее, насколько какой-нибудь get_it может закрыть отсутствие IServiceCollection в качестве IOC?
???????
[
{
"type": "mention",
"text": "@gorniv"
},
" мб Игорь"
]
???????
Но на акведуке он не писалб
Roman Chernov
Есть компонент с локальным стейтом и есть глобальный, компонент через Di подключён к page. При тапе на компоненте идёт обновление глобального стейта. Используется fish-redux. Все работает но смущает то что при тапе по компоненту идёт перерисовка всей page а следом компонента. Так должно быть? Можно ли перерисовать только компонент?
Ruslan Trufanov
[
"Ребят, а никто часом не знает будет ли решения для этого?\n",
{
"type": "link",
"text": "https://github.com/flutter/flutter/issues/37713"
},
""
]
???? ???????
Я переустановил ос-ку и нужно заново устанавливать флаттер Но когда раньше у меня флаттер садился хорошо, но сейчас выдаёт доктор такую инфу Android toolchain - develop for Android devices (Android SDK version 29.0.3)
???? ???????
Перепробовал многое. Переустанавливал джаву, андроид студио, сдк, очереди установки плагинов и самого студио, удалял старые версии
???? ???????
Уже несколько дней не могу решить эту проблему. Гуглил, но ничего не помогло. Помогите у кого такое было :с
???? ???????
flutter doctor —android-licenses выдаёт Android sdkmanager tool not found (/home/treor/Android/Sdk/tools/bin/sdkmanager). Try re-installing or updating your Android SDK,
Roman Chernov
В Android studio открывается sdk manage?
Alexey
Вопрос про flare/rive: если в анимации используются кнопки, возможно ли определить ее положение (чтобы тап обработать)?
Roman Chernov
flutter config --android-sdk
Павел
which sdkmanager /home/poul/Android/Sdk/tools/bin/sdkmanager
???? ???????
делал, не получилось
???? ???????
в bashrc прописывал
???? ???????
ничего не показывает
???? ???????
tools папки нет
???? ???????
в сдк директории
???? ???????
sudo apt-get android-sdk пробовал
???? ???????
вроде что-то скачивал и устанавливал, но безрезультатно
Павел
нее вручную с сайта
Denis Bystruev
Надо зайти в Android Studio и в SDK Manager в закладке SDK Tools установить Android SDK Tolls (Obsolete)
Павел
[
{
"type": "link",
"text": "https://developer.android.com/studio"
}
]
Павел
commandlinetools-linux-6200805_latest.zip
???? ???????
только что установил. Всё равно нет
???? ???????
сейчас гляну
Denis Bystruev
Именно Obsolete установлен? Там ещё галочку Hide Obsolete Packages нужно снять. Просто я ровно сегодня с этой проблемой столкнулся и решил её.
Nikita Grechishkin
Всем привет, есть одна проблема, не отображается имя приложения сверху экрана. Подскажите, пожалуйста, как это можно исправить?
???? ???????
Надо было сразу сюда писать :с
???? ???????
Спасибо большое)
Rinat Kurmashev
Safearea?
Krat0S
Хех))) Одинаковые сэмплы смотрим)))
Nikita Grechishkin
А причём здесь safearea, если проблема не внутри самого приложения? Или я чего то не знаю?
Temurxon
в material app писал в title
Кирилл Матросов
[
{
"type": "link",
"text": "https://www.youtube.com/channel/UCOoJkGYV00nr3EpZOUeuN1Q"
},
"\nДоклады подвезли"
]
Nikita Grechishkin
Сейчас посмотрю
Nikita Grechishkin
Действительно, в этом была проблема)
Nikita Grechishkin
Большое спасибо)
Артём Ефименко
Может тут кто сможет подсказать Как проверить есть ли подключение к интернету, если есть то показываем одно на экране, иначе другое. Проверять есть ли интернет соединение надо только при запуске приложения, не больше
???????
[
{
"type": "link",
"text": "https://pub.dev/packages/connectivity"
}
]
Артём Ефименко
не могу до конца разобраться с коннективити, уже пробовал в нём
???????
чо там разбираться то...
Артём Ефименко
а, ну извините, гуру сразу родился наверное
???????
Там все необходимое прям первой парой строк написано
???????
Если он не помог - ничто не поможет
???????
Проще и тупее только http запрос кудато слать с таймаутом
Артём Ефименко
я засунул ту первую часть кода с документации в async, возвращает он инстанс Future , мне ещё получается надо вызывать этот метод async/await, чтобы получить bool результат
Олжас Сулеймен
[
"а зачем писать Constructor({",
{
"type": "mention",
"text": "@required"
},
" this.field}) ?? ??"
]
Олжас Сулеймен
Constructor(this.field) гарантированно
???????
[
"Чтоб API было вида:\n",
{
"type": "pre",
"text": "Constructor(\n field: myField\n)",
"language": ""
},
""
]
???????
Аннотация актуальна для флатера (она и является частью флатера, а не дарта)
Олжас Сулеймен
final переменную нельзя переопределить const значение нельзя изменить
Олжас Сулеймен
тот же Text виджет первый параметр позиционный
Олжас Сулеймен
[
"так как ",
{
"type": "bold",
"text": "обязательный"
},
""
]
???????
так короче в его случае
???????
с кучей позиционных параметров ты надрочишься
Павел
переопределить в смысле менять ей тип?
???????
особенно строя интерфейс
Олжас Сулеймен
запятые ставить все норм будет
Олжас Сулеймен
нет var a = 1; a = 2 с final такое не прокатит
???????
MyWidget( value1, value2, value3, ) супер не очевидная и не удобная запись, причем еще и местами менять нельзя
Олжас Сулеймен
ну в примере выше по чатику это оверхед
???????
За контекстом не следил
???????
Но штука нужная, штука полезная
???????
И она оооочень много где применяется в типовых виджетах
???????
По сути текст это скорее исключение
Олжас Сулеймен
required скоро станет частью языка как и covariant
???????
Предположение или гдет писали?
Олжас Сулеймен
non-nullable в комплекте
Павел
то есть final это для полей класса, которые можно задать один раз? а const и так понятен смысл
???????
Я его себе позволяю писать только на стороне UI, чтоб не тянуть флатер куда не надо
Олжас Сулеймен
не только полей но и обычных переменных
???????
[
"ты не сможешь переназначить свое ",
{
"type": "code",
"text": "a"
},
""
]
???????
И final присваевается в рантайме
Олжас Сулеймен
тут про строку спрашивали она иммутабельна и все методы ее не меняют
???????
а const на этапе сборки
Павел
provider разлюбил) bloc показался более интересным. Завтра буду делать список файлов в папке и под него получается final переменную можно, так как файлы ассетов будут
Павел
или даже repository из bloc пакета
Павел
скорее всего final как-то связан с уборщиком мусора
Олжас Сулеймен
[
{
"type": "mention",
"text": "@PlugFox"
},
" ",
{
"type": "link",
"text": "https://github.com/dart-lang/language/blob/master/accepted/future-releases/nnbd/feature-specification.md#syntax"
}
]
Павел
типа чтобы его не трогали
Олжас Сулеймен
в теории к фиелду идет только геттер
???????
Provider и Bloc не взаимоисключают друг друга
???????
Одно DI, другое Стейт Менеджер
???????
Даже не представляю, почему у вас оно постоянно "или/или"
Павел
а bloc не DI немного?
Evgenii Elchev
он провайдером весь пакет называет и все что в нем находится
Олжас Сулеймен
covariant late final x; ))
???????
[
"Другое дело, что ",
{
"type": "code",
"text": "flutter_bloc"
},
" копипиздит функционал провайдера"
]
Evgenii Elchev
covariant что делает?
???????
Составные типы вроде как
Олжас Сулеймен
что его можно переопределять в наследника наследником
Олжас Сулеймен
)) хз как объяснить норм
Evgenii Elchev
алгибраические? или что такое составной тип?
???????
Ну тип когда у тебя переменная может быть сразу и string и int
???????
[
"при этом ты не пишешь срань вида ",
{
"type": "code",
"text": "dynamic a"
},
""
]
Evgenii Elchev
это вроде как слабая типизация называется
Олжас Сулеймен
[
{
"type": "pre",
"text": "class Vector { void add(covariant Vector vector); }\nclass Vector2 extends Vector { @override void add(Vector2 vector); }",
"language": ""
}
]
???????
Именно что не слабая
Evgenii Elchev
тогда типо a int | string ?
Evgenii Elchev
это палгибраическое произведение
Олжас Сулеймен
в примере выше
Evgenii Elchev
чет магия какая то черная
Evgenii Elchev
типо ты в наследике можешь тип переопределить
Олжас Сулеймен
[
{
"type": "link",
"text": "https://dart.dev/guides/language/sound-problems#the-covariant-keyword"
}
]
Evgenii Elchev
странная фигня если честно
Evgenii Elchev
а чем дженерик их не устроил
Temurxon
вот я тоже думаю чем
Angry TaigaFox
Как починить ReorderableListView? Исключение бросает когда начинаю переставлять элементы списка.
Evgeniy
Правда что сейчас Dart востребован и активно используется на западе?
Evgeniy
А dart может ли заменить js?
Sergey Hottabych
По Европе искал - катастрофически мало вакансий. Запад не смотрел
Evgeniy
А то я послушал на Ютубчике ( web dev blog) про дарт
Evgeniy
Где он говорит что на западе уже бум на dart
???? ???????
Может в веб части
Evgeniy
А он как замена джс сможет стать?
???????
Он уже заменяет жс
???????
Ты в чяте Wrike этот вопрос задаешь, если что
???????
Будет ли веб на нем повсеместно - сильно сомневаюсь.
???????
[
"Это чат компании ",
{
"type": "link",
"text": "https://www.wrike.com/"
},
" если что.\nПосмотри на чем они пишут"
]
|