❌Reactのfetch()
Remove automatic fetch cache instrumentation by acdlite · Pull Request #28896 · facebook/react · GitHub
2024/4/24
Reactのfetchを拡張するのを削除したPR
ReactFetch.jsが削除された
この変更は、Server Components環境におけるグローバルfetch関数の自動パッチを削除します。これは、React.cacheを使用してリクエストを重複排除する動作であり、一部のRSCフレームワークのメンテナが異議を唱えていました。
この決定を将来的に再検討するかもしれませんが、現時点ではこの議論の価値はないと判断しました。
すでにこの動作を実装しているフレームワーク(Next.jsなど)は、ユーザースペースで再実装することができます。
コードベースに実装を残し、すべての場所でenableFetchInstrumentationをfalseに設定して無効にすることも考えましたが、それではテストも無効になり、テストカバレッジがないと動作がずれてしまう可能性が高いため、それほど価値がないと判断しました。必要に応じて、このPRを後でリバートすることもできます。GPT-4.icon
あんまりちゃんと追ってないし、コードも読んでないけど、結局Reactがfetch()を拡張する話はなくなったの?
Next.jsが勝手にやってるだけ?
Next.jsのfetch()
Next.jsのdocsでは、主語が「React」になっていて紛らわしい
React extends the fetch API to automatically memoize requests that have the same URL and options. This means you can call a fetch function for the same data in multiple places in a React component tree while only executing it once. ref
https://github.com/facebook/react/pull/25516
https://github.com/facebook/react/issues/25573
fetch()にPatchを当てることの不満