[flutter] Equatable을 이용한 플러터 데이터 변경 감지
플러터에서 상태 변화를 감지하고 새로운 상태로 업데이트하는 것은 매우 중요합니다. Equatable은 플러터에서 이러한 작업을 간편하게 해주는 도구 중 하나입니다. Equatable은 객체의 equality를 명시적으로 정의하지 않고도 객체들을 비교할 수 있게 해줍니다.
이제 Equatable을 이용하여 간단한 예제를 보여드리겠습니다.
Equatable 패키지 추가하기
먼저, Equatable 패키지를 pubspec.yaml 파일에 추가해야 합니다.
dependencies:
equatable: ^2.0.2
패키지를 추가하고 나면 flutter pub get
명령어를 실행하여 패키지를 가져와야 합니다.
Equatable을 이용한 데이터 모델 만들기
이제 Equatable을 이용하여 데이터 모델을 만들어 보겠습니다.
import 'package:equatable/equatable.dart';
class Person extends Equatable {
final String name;
final int age;
const Person(this.name, this.age);
@override
List<Object> get props => [name, age];
}
위 코드에서 Person
클래스는 Equatable을 상속받고 있고, props
메서드를 오버라이드하여 비교할 속성들을 명시하고 있습니다.
Equatable을 이용한 상태 변경 감지하기
이제 Equatable을 이용하여 상태 변경을 감지하는 예제를 보여드리겠습니다.
import 'package:flutter/material.dart';
import 'person.dart';
void main() {
final person1 = Person('Alice', 30);
final person2 = Person('Alice', 30);
print(person1 == person2); // 출력: true
}
위 코드에서 person1
과 person2
는 동일한 속성을 가지고 있기 때문에 true
가 출력됩니다.
Equatable을 사용함으로써 우리는 객체의 equality를 명시적으로 정의하지 않고도 정확하게 비교할 수 있게 되었습니다.
Equatable을 활용하여 플러터 앱에서 상태 변경을 감지하고 업데이트하는데 도움이 되기를 바랍니다.
더 자세한 사항은 Equatable GitHub 페이지를 참고하시기 바랍니다.