Comments (4)
Hi,
The cache
function from React is scoped to the current request. By definition it won't work as you expect it (as a global cache)
You need to pass the next revalidate option:
fetch(`https://...`, { next: { revalidate: 3600 } })
from next.js.
I'm not looking for a global cache like the NextJS Data Cache (what you're suggesting). I'm looking for request memoization like the React Cache.
from next.js.
Aha, yeah I had missed the bit about shallow equality on the arguments passed to cache. Though you say:
Because the cache function needs to have only primitives as parameters
But the docs you link to say:
If your arguments are not primitives (ex. objects, functions, arrays), ensure you’re passing the same object reference.
So you can in turn, use cache
to memoize the creation of the init argument, see #63298 (comment) - since you can also use the cache
to store a computation, it is not limited to just requests.
from next.js.
So you're suggesting to use a Map to store the init object inside so I get the same reference of the init object ?
from next.js.
Related Issues (20)
- Remove `@opentelemetry/api` from edge bundle when telemetry is disabled HOT 1
- next config output="export" with appDir doesn't work HOT 2
- Headers function causing an empty page to be returned when using Optional Catch-all Segments HOT 3
- Module not found: Can't resolve '_http_common' HOT 2
- WebGL client component only renders when running "npm run dev" and not with "npm start" HOT 2
- Deprecated meta tag "apple-mobile-web-app-capable" HOT 1
- Next.js does not pick the correct export of dependency HOT 2
- Docs: HOT 1
- req.signal.onabort doesn’t work in Vercel function HOT 1
- Add support for Infinity in experimental/staleTimes HOT 1
- <Link/> sometime stop working with app router in production HOT 1
- Get garbled code in Server actions if formdata contains not latin1 characters HOT 2
- Browser navigation in between app directory pages are cached and I cannot opt out HOT 3
- icon file don't working in sub route HOT 2
- Small request per second rate related to trailing slash
- Static and dynamic parallel routes not working together as expected HOT 3
- Docs: Pages functions used as examples for App directory HOT 1
- Using a client-side promise on initial render hangs server stream
- experimental_ppr with generateMetadata gives revalidation error HOT 2
- revalidateTag() not functioning as expected in versions above 14.2.10 when used directly in page.tsx
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from next.js.