Flutter 정지 사용 방법

안녕하세요, 시작하기 전에 이 기사는 제공자, 주입 가능 및 동결을 사용하는 flutter mvvm에 관한 이전 게시물에서 이어집니다.

The Code Project Is Here...

이 기사에서는 정지를 단계별로 구현하는 방법에 중점을 둘 것입니다.

이제 Freezed를 사용하는 방법입니다.



먼저.. pubspec.yaml 섹션의 dependencies에 설치해야 합니다(버전을 무시하고 대신 최신 버전을 사용하십시오).

dependencies:
  flutter:
    sdk: flutter
  freezed: ^2.1.0+1
  freezed_annotation: ^2.1.0

dev_dependencies 섹션에서 설치해야 합니다.

dev_dependencies:
  build_runner: ^2.2.0 //Generating implementation code
  flutter_test:
    sdk: flutter
  json_serializable: ^6.3.1 //Make serializable object(to/from) json


다음은 코드 샘플입니다.

import 'package:freezed_annotation/freezed_annotation.dart';
part 'task_model.freezed.dart';
part 'task_model.g.dart';

@freezed
class TaskModel with _$TaskModel {
  factory TaskModel({
    required final String title,
    required final String description,
    @Default(false) bool isDone,
  }) = _TaskModel;

  factory TaskModel.fromJson(Map<String, dynamic> json) =>
      _$TaskModelFromJson(json);
}



이제 그것을 조각으로 나누자.

클래스 구성 방법 살펴보기




@freezed
//This _$TaskModel is not autoGenerated you have to construct
//it manually using this format _${{ClassName}}
class TaskModel with _$TaskModel {
//for this section, you just have to follow these line
/* using this format
  factory {{ClassName}}({
   Declare all the fields here..
  }) = _{{ClassName}}
*/
  factory TaskModel({
    required final String title,
    required final String description,
    @Default(false) bool isDone,
  }) = _TaskModel;

//Allow your object to be serializable. can do mutation
//fromJson or toJson.
  factory TaskModel.fromJson(Map<String, dynamic> json) =>
      _$TaskModelFromJson(json);
//this Factory fromJson method is not autogenerated
// so you have to declare it manually with thisFormat
//  factory {{ClassName}}.fromJson(Map<String, dynamic> json) =>
//      _${{ClassName}}FromJson(json);


}


여기까지 .. 코드는 모든 곳에서 RED입니다 .. 하하 가져 오기를 살펴보십시오.

가져오기를 살펴보세요


@freezed 또는 @unfreezed를 사용하려면 이것을 가져와야 합니다.

import 'package:freezed_annotation/freezed_annotation.dart';


그런 다음 이것을 가져와야합니다

part 'task_model.freezed.dart';
//this import can be very depend on the class name
//so the format will be
//part '{{className}}.freezed.dart';


이 가져오기를 통해 이 모델의 immutable 또는 mutable 기능을 사용할 수 있습니다.

다음으로 오세요.
당신은 이것을 수입해야

part 'task_model.g.dart';
//this import are important because it makes your object are serializable.
//see the fromJson method in code above. without this import it will not run


여기까지.. 당신의 코드는 모든 곳에서 RED가 될 것입니다.. 하하 걱정하지 마세요 코드 생성을 살펴보십시오..

코드를 생성해 보겠습니다.



시작하기 전에 이 문서의 첫 번째 섹션에서 이미 언급한 대로 pubspec.yaml을 이미 조정했는지 확인하세요.

이제 빌드 러너에게 우리 모델의 구현 클래스를 만들도록 요청할 수 있습니다...

pubspec.yaml을 설치하기 위해 이미 flutter pub get을 수행했는지 확인하십시오.

그런 다음 이 명령을 실행합니다.

flutter pub run build_runner build --delete-conflicting-outputs 


실행 후 이와 같은 구현 파일을 생성해야 합니다.


..

이제 시작합니다. 이제 모델 클래스를 살펴볼 수 있습니다. 더 이상 빨간색이 없을 것입니다.

헉 감사합니다!!..

좋은 웹페이지 즐겨찾기