【Flutter】3.13にアップデートするためにしたことをまとめてみたよ

Dart

概要

どうも、@daiki1003です!

午前中に、

【Flutter】3.13がリリース!その内容を10個に分けてまとめてみたよ!
とうとう!Flutter 3.13がリリースされました! preが何回かアップデートされたりしていましたがとうとうって感じですね。 本記事では、 を元にどんな機能/改善がリリースされたのかの全貌をお届けできれば...

を公開しましたがその後対応してみたのでその時に必要だった変更をまとめてみました。

執筆時アップデート前環境

名前バージョン
macOS Ventura13.1
Flutter3.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/catchcatchセクションまでチェックが及ぶようになったみたいですね。

// 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

また、記事がとても役に立ったと思う人は
コーヒーを奢っていただけると非常に嬉しいです!
@daiki1003

コメント

タイトルとURLをコピーしました