概要
どうも、@daiki1003です!午前中に、
【Flutter】3.13がリリース!その内容を10個に分けてまとめてみたよ!
とうとう!Flutter 3.13がリリースされました! preが何回かアップデートされたりしていましたがとうとうって感じですね。 本記事では、 を元にどんな機能/改善がリリースされたのかの全貌をお届けできれば...
を公開しましたがその後対応してみたのでその時に必要だった変更をまとめてみました。
執筆時アップデート前環境
名前 | バージョン |
macOS Ventura | 13.1 |
Flutter | 3.10.6 |
アップデート内容の紹介
Flutter 3.13
require_trailing_commas
最後のカンマのルールが厳しくなった様です。
特にWidget
の構築時になくても良かったものが必須になったみたいですね。
// BEFORE return Column( children: [ Hoge(), Fuga( value: 1, ) ], );
// AFTER return Column( children: [ Hoge(), Fuga( value: 1, ), // ここを追加 ], );
use_build_context_synchronously
こちらも前からあったルールですが厳格になったようです。
どうやら、 try/catch
のcatch
セクションまでチェックが及ぶようになったみたいですね。
// BEFORE try { await ref.read(someFutureProvider.future); } on Exception catch (error, stackTrace) { ScaffoldMessenger.of(context).show... }
// AFTER try { await ref.read(someFutureProvider.future); } on Exception catch (error, stackTrace) { if (context.mounted) { ScaffoldMessenger.of(context).show... } }
AppLifeCycleState.hidden
AppLifecycleState.hidden
が追加されました。
これにより、以前のコードでswitch
でハンドリングしていた箇所なんかはエラーが出たりすると思います。
// BEFORE switch (lifecycleState) { AppLifecycleState.inactive => ..., AppLifecycleState.resumed => ..., AppLifecycleState.paused => ..., AppLifecycleState.detached => ..., }
// AFTER switch (lifecycleState) { AppLifecycleState.inactive => ..., AppLifecycleState.hidden => ..., // 追加 AppLifecycleState.resumed => ..., AppLifecycleState.paused => ..., AppLifecycleState.detached => ..., }
Dart 3.1.0
変更なし
最後に
現状、これくらいです。
今回はそんなに多くなさそうですね。
追加があればアップデートしていきたいと思います。
誰かのお役に立てば。Twitterフォローお願いします
「次回以降も記事を読んでみたい!」「この辺分からなかったから質問したい!」
そんな時は、是非Twitter (@daiki1003)やInstagram (@ashdik_flutter)のフォローお願いします♪
Twitterコミュニティ参加お願いします
Twitterコミュニティ「Flutter lovers」を開設しました!参加お待ちしております😁
☕️ Buy me a coffee
また、記事がとても役に立ったと思う人はコーヒーを奢っていただけると非常に嬉しいです!
コメント