Flutter 프리즈드 패키지 사용하는 방법
Flutter 동결 기조 연설

이 기사(또는 핵심 노트를 말해야 함)에서 내가 가장 좋아하는 Flutter 패키지 중 하나인 Freezed를 사용하는 방법을 보여 드리겠습니다.
Freezed는 데이터 클래스를 위한 강력하고 확장 가능한 코드 생성기입니다. 신뢰할 수 있지만 단점이 있습니다. 초보자가 앱 로직에 사용할 올바른 조합과 필요한 기능을 찾기가 정말 어렵습니다. 문서는 모든 기능에 대한 철저한 설명과 함께 훌륭하므로 이 문서를 가끔 참조할 수 있는 몇 가지 축약형 메모로 고려하십시오.
따라서 제안을 동결한 주요 필수 기능을 강조 표시하고 왜 필요한지 설명하겠습니다.
계속 진행하기 전에 패키지 설치 및 사용 방법에 대한 동결 문서를 확인하십시오.
사용하시는 분들을 위해 json_serializable
와 함께 freezed
다트 분석기가 잘못된 주석 대상에 대해 경고를 발생시키는 공존에 알려진 문제가 있습니다. 경고를 오류로 간주하는 사용자를 위해 이를 해결할 수 있는 방법은 다음과 같습니다.
이 문제에 대한 더 많은 통찰력과 업데이트를 보려면 이 문제를 확인하세요.
클래스 형성 중에 전달되지 않은 변수에 대한 자리 표시자를 가질 수 있습니다. 의도한 값이 누락된 경우 이를 대체 값으로 고려하십시오.
@Default(“John Doe“) String name
이것은 백엔드에서 JSON 데이터를 역직렬화할 때 유용합니다. 변수 데이터를 보유하는 키를 참조하는 데 사용됩니다. 변수 이름이 아래와 같이 키와 다른 경우에만 필요합니다.
@JsonKey(name: “first_name”) String firstName
동결 자동으로 묻습니다 json_serializable
필요한 모든 것을 생성하기 위해 fromJson
/toJson
문서에 명시된 대로.
그러나 고정된 개체의 중첩 목록을 직렬화하려면 다음 중 하나를 수행해야 합니다.
지정 @JsonSerializable(explicitToJson: true)
클래스 정의 전에.
또는 변경 explicit_to_json
너의 안에 build.yaml
파일(프로젝트의 루트 폴더에 생성됨).
첫날처럼 겁먹지 마세요. API를 호출할 때 반환하는 변수 유형을 변경하도록 백엔드 엔지니어에게 요청하는 것이 지겹습니까? 백엔드 엔지니어가 아닌 경우에는 그렇지 않습니다.
따라서 여기에 개념이 나옵니다. JsonConverters
. 클래스 직렬화/역직렬화 전에 JSON 값을 원하는 변수 유형으로 변환합니다.
주의: Dart에서 int와 int?, String과 String? 등은 다른 변수 유형입니다.
아래 예제는 문자열을 다음으로 변환합니다. int
그리고 int?
각기.
그런 다음 다음과 같이 클래스에서 사용자 지정 변환기를 사용합니다.
@IntConverter() int id,@NullableIntConverter() int? age,
메소드나 getter를 정의할 때마다 작동하려면 빈 개인 생성자를 추가해야 합니다.
그렇지 않으면 다음과 같은 오류가 발생할 수 있습니다. _$_Person
다음 멤버에 대한 구현이 없습니다.
지금쯤이면 Flutter가 주로 두 가지 개념을 중심으로 움직인다는 것을 알아야 합니다.
- 불변: 변경할 수 없으며 교체만 가능합니다.
- 변경 가능: 변경 가능
Freeze는 다음을 사용하여 불변성을 지원합니다. @freezed
주석 및 가변성@unfreezed
주석.
다음은 개념에 대한 자세한 설명입니다.
'Coding' 카테고리의 다른 글
Kotlin/Native 대 C++ 대 Freepascal 대 Python: 비교 (0) | 2022.04.29 |
---|---|
Python에서 setup.py 파일을 사용하여 코드 공유하는 방법 (0) | 2022.04.28 |
유형 자리 표시자: 새로운 Swift 5.6 기능 살펴보기 (0) | 2022.04.22 |
Mac에서 DNS를 플러시하는 방법 – MacOS DNS 캐시 지우기 (0) | 2022.04.21 |
높은 수준의 관점에서 전자 상거래 웹 사이트 디자인하는 방법 (0) | 2022.04.19 |