FrontEnd/Flutter

Equatable

뽀루피 2024. 5. 5. 16:42

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