LoginSignup
0
0

【flutter】.copyWith()について

Last updated at Posted at 2023-12-30

.copyWith()とは

.copyWith()はイミュータブルなオブジェクトを簡単に更新することができる非常に便利なメソッドです。これはProviderなどの状態管理においてよく使われます。

.copyWith()の使い方

@immutable
class User {
  final String name;
  final int age;

  User({required this.name, required this.age});
}

void main() {
  User originalUser = User(name: 'John', age: 25);

  // copyWithでageを更新
 originalUser = originalUser.copyWith(age: 26);

  print(originalUser.name);  // 'John' (元の値を引き継いでいる)
  print(originalUser.age);   // 26 (新しい値がセットされている)
}

上記のコードでは、copyWithメソッドを利用してoriginalUserオブジェクトのageプロパティを更新しています。この方法を用いることで、元のオブジェクトは変更されずに、指定したプロパティだけが新しい値に更新されたコピーが生成されます。そして、originalUserにこのコピーを再代入することで、元のオブジェクトを更新しています。これにより、イミュータブルな特性を保ちつつ、必要なプロパティを変更することができます。

イメージ
image.png

最後に

.copyWith()は深く考えると複雑なメソッドではありますが、要するにイミュータブルなオブジェクトのプロパティを更新することができる素晴らしいメソッドです。状態管理などで私もいつも助けられています。感謝して使っていこうと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0