Size: a a a

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

2020 May 30

i

ilx13 in Dart & Flutter по-русски
Resolving dependencies... 
Because delivery depends on flutter_test any from sdk which doesn't exist (the Flutter SDK is not
 available), version solving failed.
источник

i

ilx13 in Dart & Flutter по-русски
не видит да?
источник

i

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

𝐼

𝐼𝓈𝓁𝒶𝓂 in Dart & Flutter по-русски
Да кажется
источник

i

ilx13 in Dart & Flutter по-русски
щас в ручном укажу
источник

𝐼

𝐼𝓈𝓁𝒶𝓂 in Dart & Flutter по-русски
ilx13
Resolving dependencies... 
Because delivery depends on flutter_test any from sdk which doesn't exist (the Flutter SDK is not
 available), version solving failed.
Погуглите эту ошибку)
источник

V

Vyacheslav in Dart & Flutter по-русски
привет! добавил https://dart.dev/guides/language/analysis-options#the-analysis-options-file и получил конечно кучу ошибок, связанных с типизацией.
А как типизировать snapshot.data в FutureBulder в таком случае? Мне кажется глупо в билдере писать
String data = snapshot.data
источник

SS

Stanislav Sagan in Dart & Flutter по-русски
Может быть не в тему отвечу, но FutureBulder дефолтный не очень.. у меня врапер
источник

SS

Stanislav Sagan in Dart & Flutter по-русски
Vyacheslav
привет! добавил https://dart.dev/guides/language/analysis-options#the-analysis-options-file и получил конечно кучу ошибок, связанных с типизацией.
А как типизировать snapshot.data в FutureBulder в таком случае? Мне кажется глупо в билдере писать
String data = snapshot.data
И да, подозреваю что может если ты заполнишь генерики, может все ок будет типа
FutureBulder<String>
AsyncSnapshot<String>
Но это не точно
источник

V

Vyacheslav in Dart & Flutter по-русски
Stanislav Sagan
Может быть не в тему отвечу, но FutureBulder дефолтный не очень.. у меня врапер
Спасибо, попробую. Но вообще это норм практика - в билдере типы объявлять?
источник

V

Vyacheslav in Dart & Flutter по-русски
Про генерики попробую, спасибо
источник

SS

Stanislav Sagan in Dart & Flutter по-русски
Vyacheslav
Спасибо, попробую. Но вообще это норм практика - в билдере типы объявлять?
Враппер, чтоб не переписывал

import 'package:flutter/material.dart';
import 'package:laxtop/libs/defaultWidgets.dart';

/// Common wrapper for FutureBuilder
/// has default onError and onWaiting functions

class FutureBuilderWrapper<T> extends StatelessWidget {
 final Future<T> future;
 final Function(BuildContext, T) onSuccess;
 final Function(BuildContext, Object) onError;
 final Function(BuildContext) onWaiting;

 FutureBuilderWrapper(
     {@required this.future,
     @required this.onSuccess,
     this.onError = defaultOnError,
     this.onWaiting = defaultOnWaiting,
     Key key})
     : super(key: key);

 Widget build(BuildContext context) {
   return FutureBuilder<T>(
     future: future,
     builder: (BuildContext context, AsyncSnapshot<T> snapshot) {
       if (snapshot.hasError) {
         return onError(context, snapshot.error);
       } else if (snapshot.hasData) {
         T data = snapshot.data;
         return onSuccess(context, data);
       }
       return onWaiting(context);
     },
   );
 }
}
источник

SS

Stanislav Sagan in Dart & Flutter по-русски
Vyacheslav
Про генерики попробую, спасибо
Ну, генерики очень желательно заполнять. иначе они будут dynamic
источник

SS

Stanislav Sagan in Dart & Flutter по-русски
import 'package:flutter/material.dart';

Widget defaultOnError(BuildContext context, Object error) =>
   Text(error.toString());

Widget defaultOnWaiting(BuildContext context) =>
   Center(child: CircularProgressIndicator());
источник

SS

Stanislav Sagan in Dart & Flutter по-русски
В итоге код до такого сокращается
источник

V

Vyacheslav in Dart & Flutter по-русски
Stanislav Sagan
В итоге код до такого сокращается
спасибо!
источник

V

Vyacheslav in Dart & Flutter по-русски
как здесь типизировать? ругается что не стринг
источник

КМ

Кирилл Матросов... in Dart & Flutter по-русски
Vyacheslav
как здесь типизировать? ругается что не стринг
А что возвращает?
источник

V

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

V

Vyacheslav in Dart & Flutter по-русски
A value of type 'dynamic' can't be assigned to a variable of type 'String'.
Try changing the type of the variable, or casting the right-hand type to 'String'.
источник