💬

Tanstack Query v5 で cacheTime が gcTime に名前を変えていて迷子になった

2024/12/04に公開

タイトルのとおりです

公式のマイグレーションドキュメントに記載があります。
型の情報が変わっていたので気づきました。名称のみの変更で、機能に変更はないようです。

https://tanstack.com/query/latest/docs/framework/react/guides/migrating-to-v5#rename-cachetime-to-gctime

なぜ変わったか

Almost everyone gets cacheTime wrong. It sounds like "the amount of time that data is cached for", but that is not correct.
cacheTime does nothing as long as a query is still in use. It only kicks in as soon as the query becomes unused. After the time has passed, data will be "garbage collected" to avoid the cache from growing.
gc is referring to "garbage collect" time. It's a bit more technical, but also a quite well known abbreviation in computer science.

「使われなくなったデータをGC(ガーベッジコレクション)するまでの時間」を指しているのに、これまでの cacheTime では誤解して利用する人が多くいた、ということみたいです。
確かに名前によって理解の阻害が合った気はするので、わかりやすい名前に変わったのではないかと思います。

おわり

Googleの検索から探すのは難しかったので、こういうときはドキュメントの中を直接探すほうが早いですね。

Discussion