snapshot.data!
final data = snapshot.data; if (data == null) return const CircularProgressIndicator(); if (data.isNotEmpty) {...} return const LoginPage();
если есть возможность избежать использование bang оператора, лучше это сделать
Буду иметь ввиду) Просто у него во future уже вложена проверка на null. Смысл добавлять ещё несколько строк? Или даже в этом случае лучше расписывать ?
У FutureBuilder еще укажи явно тип: FutureBuilder<String>(... И вообще я всем говорю, скажу и тебе: подруби линтер. Если линтер подрубил, то подкрути правила построже.
linter от Surf пойдет ?
Разница есть. Пример номер 1: if (snapshot.data != null) { final a = snapshot.data.split(' '); // Тут компилятор будет ругаться на .split(), потому что он не понимает что мы выше сделали проверку, и snapshot.data не может быть null } Пример номер 2: final data = snapshot.data; if (data != null) { final a = data.split(' '); // Тут компилятор не будет ругаться, так как он поймет что data не может быть null, потому что выше была сделана проверка на null } Проще говоря, компилятор может "понять" эту проверку на null только с локальной переменной.
да, конечно
а можете ссылку дать на него?
https://pub.dev/packages/surf_lint_rules
Обсуждают сегодня