はじめに
今回はJetpack Compose実装時になんとなくで使われていそうなby rememberと= rememberの違いを紹介していきます
本文
まず、前提として=はご存知の通り代入ですが、byは委譲になります。
ではcompose内で使われているrememberと合わせた時にどうなるのかを紹介していきます。
まず、=ではremember{}で宣言したラムダ内の値を初期値として保持します。
byは先ほど記載したようにremember{}に処理を委譲しています。
そのため。、remember{}の内部がstateなので初期値はstateでないといけません。
逆に=は以上をしていないのでどんなクラスでもOKになります
最後に
普段はなんとなくで使われていそうなrememberの使い方による違いを紹介していきました。
基本的にはrememberで持つ値は再描画に使うものなのでbyを使うのが正しい気がします