問題タブ [equatable]
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.
ios - Equatable for Diffing に準拠したプロトコル
ここに小さなチャットアプリがあります。
私は2種類のメッセージを持つことができます: - テキスト - ビデオ
次のように JSON をデコードする際にポリモーフィズムを使用しています。
私は次のように MVVM アプローチも使用しています。
DifferのDiffingようなライブラリを使用できるようにするには、プロトコルに準拠する必要があります。ChatViewModelEquatable
ここでの問題は、case let (.loaded(l), .loaded(r)): return l == rがMessageプロトコルとして に準拠していないことEquatableです。
Equatable 好きなように合わせる
のエラーProtocol 'Message' can only be used as a generic constraint because it has Self or associated type requirementsを生成しますMessageWrapper:
これを解決するためのクリーンな方法を持つためのアイデアや提案はありますか? についての投稿を見ましType Erasureたが、いくつかのテストの後、実際に問題が解決されているかどうかはわかりません。
flutter - プロパティを Equatable のスーパー コンストラクターに渡す
私は Flutter と Dart にまったく慣れていないので、更新されたバージョンの Equatable を拡張するクラスを書き直す方法を理解するのに苦労しています。
これは Equatable 0.4.0 で動作します:
ただし、Equatable 1.0.2 に更新すると、次の場所でエラーがスローされますsuper(properties)。
位置引数が多すぎます: 0 が必要ですが、1 が見つかりました。
余分な引数を削除してみてください。
propertiesEquatable 1.0.2 でスーパー コンストラクターに渡す方法がわかりません