メインコンテンツまでスキップ
Version: Next

イミュータブルタイプ

イミュータブルタイプとは?

これらのタイプは、インスタンス化はできるが値を変更することはできないタイプです。値を更新するには、新しい値をインスタンス化する必要があります。

なぜイミュータブルタイプを使用するのですか?

React と同様に、プロパティは祖先から子孫に伝播されます。これは、各コンポーネントが更新されるたびにプロパティが存在する必要があることを意味します。したがって、プロパティは理想的には簡単にクローンできるべきです。これを実現するために、通常は Rc にラップします。

イミュータブルタイプは、コンポーネント間でプロパティの値を低コストでクローンできるため、プロパティの値を保持するのに最適です。

一般的なイミュータブルタイプ

Yew は implicit-clone クレートから以下のイミュータブルタイプの使用を推奨しています:

  • IString(Yew では AttrValue としてエイリアス化)- String の代わりに文字列用
  • IArray<T> - Vec<T> の代わりに配列・ベクター用
  • IMap<K, V> - HashMap<K, V> の代わりにマップ用

これらのタイプは参照カウント(Rc)または静的参照のいずれかであり、非常に安価にクローンできます。

さらに読む