イミュータブルタイプ
イミュータブルタイプとは?
これらのタイプは、インスタンス化はできるが値を変更することはできないタイプです。値を更新するには、新しい値をインスタンス化する必要があります。
なぜイミュータブルタイプを使用するのですか?
React と同様に、プロパティは祖先から子孫に伝播されます。これは、各コンポーネントが更新されるたびにプロパティが存在する必要があることを意味します。したがって、プロパティは理想的には簡単にクローンできるべきです。これを実現するために、通常は Rc
にラップします。
イミュータブルタイプは、コンポーネント間でプロパティの値を低コストでクローンできるため、プロパティの値を保持するのに最適です。
一般的なイミュータブルタイプ
Yew は implicit-clone
クレートから以下のイミュータブルタイプの使用を推奨しています:
IString
(Yew ではAttrValue
としてエイリアス化)-String
の代わりに文字列用IArray<T>
-Vec<T>
の代わりに配列・ベクター用IMap<K, V>
-HashMap<K, V>
の代わりにマップ用
これらのタイプは参照カウント(Rc
)または静的参照のいずれかであり、非常に安価にクローンできます。