Size: a a a

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

2020 September 12

ok

oc1 kent in Dart & Flutter по-русски
Вызываю вот так :                     Provider.of<DeviceStore>(context).getLengthDevice(),
источник

Б

Борис in Dart & Flutter по-русски
MiT
Лучше через middleware подставлять нужный роутер перед переходом на эти экраны, и никакой StoreConnector не нужен
Звучит интересно, у вас нет случайно ссылки, где можно прочитать про такой способ?
источник

t

tdesc in Dart & Flutter по-русски
Борис
Всем добрый вечер! Кто-нибудь работал с redux? Нормально ли располагать StoreConnector в корне приложения? Обычно пишут, что билдеры-консюмеры нужно располагать как можно ближе к обновляемому виджету, чтобы все дерево не обновлять. А тут, что-то не получается. Мне нужно выбрать показывать ли логин -пэйдж или главную страницу, поэтому ниже коннектор никак похоже не разместить.. А в redux один глобальный стейт
если вы хотите ( и так спроектирован ) ваш глобальный стейт, билдеры консюмеры делают всего навсего подписку на часть данных из стейта
источник

t

tdesc in Dart & Flutter по-русски
причем не всегда вам только с одного стейта нужно данные
источник

t

tdesc in Dart & Flutter по-русски
виджет который за вас делает подписку называется стор коннетор, им можно вообще не пользоваться
источник

Б

Борис in Dart & Flutter по-русски
tdesc
если вы хотите ( и так спроектирован ) ваш глобальный стейт, билдеры консюмеры делают всего навсего подписку на часть данных из стейта
А разве обновляется не весь стейт на каждый экшн? Как там подписку на часть данных можно оформить?
источник

M

MiT in Dart & Flutter по-русски
Борис
Звучит интересно, у вас нет случайно ссылки, где можно прочитать про такой способ?
На конкретный пример не нашел. Но вот что я имел ввиду: https://github.com/flutterings/flutter_redux_navigation
источник

t

tdesc in Dart & Flutter по-русски
Борис
А разве обновляется не весь стейт на каждый экшн? Как там подписку на часть данных можно оформить?
смотря какую библиотеку и как вы его готовите, build_value с immutable данными прохешированы изменения соотв можете получать с любого объекта в стейте
источник

Б

Борис in Dart & Flutter по-русски
Спасибо большое! посмотрю
источник

Б

Борис in Dart & Flutter по-русски
tdesc
смотря какую библиотеку и как вы его готовите, build_value с immutable данными прохешированы изменения соотв можете получать с любого объекта в стейте
Я redux в связке с flutter_redux использую
источник

t

tdesc in Dart & Flutter по-русски
Борис
Я redux в связке с flutter_redux использую
stream = widget.store.onChange
       .where(_ignoreChange)
       .map(_mapConverter)
       // Don't use Stream.distinct because it cannot capture the initial
       // ViewModel produced by the converter.
       .where(_whereDistinct)
       // After each ViewModel is emitted from the Stream, we update the
       // latestValue. Important: This must be done after all other optional
       // transformations, such as ignoreChange.
       .transform(StreamTransformer.fromHandlers(handleData: _handleChange));
источник

t

tdesc in Dart & Flutter по-русски
не самый удобный вариант редакса
источник

t

tdesc in Dart & Flutter по-русски
если в сторе не иммутабельные данные это фейк
источник

Б

Борис in Dart & Flutter по-русски
tdesc
не самый удобный вариант редакса
Да, их там несколько, пока чтобы не запутаться решил с классического начать
источник

t

tdesc in Dart & Flutter по-русски
посмотри статью мож для прояснения будет полезно ) минутка самопиара
источник

t

tdesc in Dart & Flutter по-русски
источник

Б

Борис in Dart & Flutter по-русски
Ок, спасибо!
источник

Б

Борис in Dart & Flutter по-русски
tdesc
stream = widget.store.onChange
       .where(_ignoreChange)
       .map(_mapConverter)
       // Don't use Stream.distinct because it cannot capture the initial
       // ViewModel produced by the converter.
       .where(_whereDistinct)
       // After each ViewModel is emitted from the Stream, we update the
       // latestValue. Important: This must be done after all other optional
       // transformations, such as ignoreChange.
       .transform(StreamTransformer.fromHandlers(handleData: _handleChange));
О, увидел, у стора есть стрим изменения состояния, на который можно подписываться, минуя коннектор, вы это имели в виду? Это как-раз похоже на одно из решений моей проблемы
источник

t

tdesc in Dart & Flutter по-русски
да
источник

M

MiT in Dart & Flutter по-русски
Борис
О, увидел, у стора есть стрим изменения состояния, на который можно подписываться, минуя коннектор, вы это имели в виду? Это как-раз похоже на одно из решений моей проблемы
Только не используй StreamBuilder, иначе получиться тот-же StoreConnector в корне приложения)
источник