問題タブ [freezed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - build_runner:build_runner: のビルドに失敗しました: 必要な拡張機能の明示的な拡張アプリケーションを使用するか、不要な拡張機能をスコープから隠してください
flutter pub run build_runner watch --delete-confilicting-output
フリーズしたファイルの生成には使用できません。エラーは次のとおりです。
build_runner:build_runner のビルドに失敗しました: /C:/flutter/.pub-cache/hosted/pub.dartlang.org/analyzer-0.41.2/lib/src/error/best_practices_verifier.dart:258:50: エラー: プロパティ「displayString」は「TargetKind」の複数の拡張子で定義されており、どちらもより具体的ではありません。-- 「TargetKind」は「package:meta/meta_meta.dart」からのものです (「/C:/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.7.0/lib/meta_meta.dart」) . 必要な拡張機能の明示的な拡張アプリケーションを使用するか、不要な拡張機能をスコープから隠してみてください。^^^^^^^^^^^^^^/C:/flutter/.pub-cache/hosted/pub.dartlang.org/analyzer-0.41.2/lib/src/error/best_practices_verifier.dart:1950: 14: Context: 拡張メンバーの 1 つです。文字列 get displayString { ^^^^^^^^^^^^^ /C:/flutter/.pub-cache/hosted/pub.dartlang.org/meta-1.7.0/lib/meta_meta.dart:91: 14: コンテキスト: これは拡張メンバーの 1 つです。文字列 get displayString { ^^^^^^^^^^^^^ /C:/flutter/.pub-cache/hosted/pub.dartlang.org/analyzer-0.41.2/lib/src/error/best_practices_verifier. dart:260:36: エラー: getter 'commaSeparatedWithOr' がクラス 'List' に対して定義されていません。-- 「リスト」は「dart:core」からのものです。名前を既存のゲッターの名前に修正するか、「commaSeparatedWithOr」という名前のゲッターまたはフィールドを定義してみてください。
var validKinds = kindNames.commaSeparatedWithOr;
yaml ファイルは次のとおりです。
flutter - Flutter @freezed「toJson」コードエラーを生成できませんでした
@freezed
いくつかの応答データ構造を定義した後、クラスを構築しようとしていますが、次のエラーが発生します:
この問題についていくつか調査した後、このエラーを解決する方法が見つかりません:
flutter - flutter プロジェクトのより良いデータ モデルの設計
現在、アプリがfirestoreから適切にロードされたデータを処理するためのデータ モデル クラスを設計しています。プロジェクトでRiverpodを使用しています。
簡単にするために、フルーツの例を取り上げます。
Fruit (基本クラス)には、次のデータ メンバーがあります。
origin
、isSweet
、color
、isWashed
、isUpForSale
「n」個の派生クラスがあり、n は次のようなさまざまな種類の果物を表す任意の数です。
Fruit を継承するMango (派生クラス)であり、次のデータ メンバーがあります。
prop_M1
、prop_M2
、prop_M3
、prop_M4
Banana (派生クラス)は Fruit を継承し、次のデータ メンバーを持ちます。
prop_B1
、prop_B2
、prop_B3
問題:
このデータはすべてfirestore streamからのものです。したがって、データベースに変更があるたびに、ウィジェット ツリーが再構築されます。そのため、別の方法でストリームをリッスンし、新しいデータに基づいて状態を変更することを計画しています。
ホーム画面では、色に基づいて果物をグループ化し、異なるタブに表示しています。
BaseClass と Derived Class の一部のプロパティは変更可能です。(例: 、
isWashed
、isUpForSale
、prop_M2
、)prop_B1
prop_B3
派生クラスはいくつでも存在できるため、 Base Class を削除することはできません。Json SerializationとFreezedパッケージの概念を認識しています。
最近、SOLID の設計原則について読み、すべてのデータ メンバーを最終的なものにしようとしています。
管理性を向上させるには
ChangeNotifier
、またはを使用する必要がありますか?StateNotifier
そのようなシナリオを処理するために従うべき正しいアプローチに関する例を誰か教えてください。
ありがとうございました