💧

Flutter の描画の仕組みを理解する

に公開
4

Discussion

中條 剛(ちゅーやん)中條 剛(ちゅーやん)

とても勉強になる記事ありがとうございます!リファレンスもありがとうございます!

ひとつだけですが、

なので可能な限り再利用するためにキチンと key を指定することが大事な訳ですね☝️

この部分について、 key は指定しなければ 「リビルド前後でどちらも null なので同一である」と判断される作りになっているため、「Widget の型は変わらないけど Element は再生成させたい」という意図がある場合以外はつけない方が適切な仕組みになっています。

「キチンと key を指定する」というのが「すべてのWidgetに key をつけるべき」という印象を受けたため、コメントさせていただきました。

seyaseya

ありがとうございます!ちゅーやんさんの記事の数々大変勉強になりました。

この部分について、 key は指定しなければ 「リビルド前後でどちらも null なので同一である」と判断される作りになっているため、「Widget の型は変わらないけど Element は再生成させたい」という意図がある場合以外はつけない方が適切な仕組みになっています。

確かに null でも同一と判定されますね、この観点抜けておりました。
ご指摘ありがとうございます!記事の方でも補足コメントを追加いたします。

中條 剛(ちゅーやん)中條 剛(ちゅーやん)

すみません、、!私の書き方がまぎらわしかったですが、修正していただいた文章の

「Widget の型は変わらないけど Element は再生成させたい」場合にはつけない方が適切です

こちらは↑にコメントした元の文章では

「Widget の型は変わらないけど Element は再生成させたい」場合 「以外」 にはつけない方が適切です

です。なので、通常はつけない、ですね。
逆の意味になってしまうので、再度修正お願いできれば!

seyaseya

私もちゃんと考えないで鵜呑みにしちゃってました…ありがとうございます!後ほど修正します!