-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue with Next.js ^14.0.2 in DEV environment #247
Comments
Same issue for me as well. Also I noticed that if I make a change in the file where I have useReactDetector and nextjs dev server reloads on its own, then useReactDetector works and returns width. But when I then try to manually refresh or load the page it returns undefined every time. Like OP said this only happens in NextJS 14.0.2+, when I use 14.0.1 everything works. |
I'm having the same issue as well, I'm using Next.js 14.0.3. I had to downgrade my Next.js project to 14.0.1 and it worked like a charm. |
I've already opened an issue at nextjs vercel/next.js#58767 I have already debugged it a bit, here are my findings:
return () => {
// component is unmounted
// clear ref to avoid memory leaks
// setRefElement(null); // <= comment to quick-fix it
onRefChange.current = null;
};
As a side note I am pretty new to the hole JS/TS ecosystem so I don't fully understand all of it, but that's are my findings. I hope they might help. |
@maslianok Please, take a look when you have time |
In version 9.1.1: React's strict mode causes components to render twice in development, as described here: React StrictMode Documentation. This also means that the logic for mounting and unmounting in However, there's an issue with During my tests, I observed no memory leaks even after removing part of the unmount logic. We still maintain the "observer" cleanup, and React handles the removal of DOM references from the state. Please upgrade to version 9.1.1 and inform me if any issues persist. |
Since updating Next.js from
v14.0.1
tov14.0.2
andv14.0.3
theuseResizeDetector()
hook is no more working in the local development environment.On the initial render the hook always returns
undefined
.If I edit the component after it's first render and the dev server triggers a rerender, the hook returns the correct values.
This can be simulated with the following code:
In the production build or with Next.js
v14.0.1
everything is working as expected.I know that this might be a Next.js issue, but I currently don't understand what could cause this problem - so it's difficult to me to open an issue there.
The text was updated successfully, but these errors were encountered: