Equal 기능을 사용하게 해주는 Equatable 라이브러리에 대해서 알아보도록 하자.
Library를 dependencies에 추가해주자.
pubspec.yaml
dependencies:
equatable: ^2.0.5
Equatable 라이브러리를 상속 받아 CarEquatable이라는 객체를 생성해 주었다.
Equatable을 상속받게 되면 아래 props를 재정의 할 수 있게 해주는데, 해당 부분은 우선 빈 배열로 두고 사용해 보자.
class CarEquatable extends Equatable {
final String title;
final String type;
final int price;
const CarEquatable(this.title, this.type, this.price);
@override
List<Object?> get props => [];
}
위에서 살펴본 예제와 똑같이 같은 내용의 객체를 각각 생성해 주었다. 자 이제 로그를 출력해보면 같은 class라는 출력 값이 나오게 된다. Equatable 라이브러리만 상속받아도 아래의 결과를 얻을 수 있다는 것을 확인했다.
CarEquatable _carEquatable1 = CarEquatable("G70", "SportSedan", 5000);
CarEquatable _carEquatable2 = CarEquatable("G70", "SportSedan", 5000);
print(_carEquatable1.title == _carEquatable2.title);
print(_carEquatable1.type == _carEquatable2.type);
print(_carEquatable1.price == _carEquatable2.price);
print(_carEquatable1 == _carEquatable2);
// true
// true
// true
// true
'FrontEnd > Flutter' 카테고리의 다른 글
내가 보려고 만든 Dart 언어 공부 (0) | 2024.05.31 |
---|---|
Flutter 명령어 (0) | 2024.05.21 |