-
Notifications
You must be signed in to change notification settings - Fork 271
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
Spinner isn't not Spinning in Nextjs 14 (Server Side) #576
Comments
I have tested by using |
i'll need to spent some time looking into how to handle the new server component paradigm. I think it's probably not working because the animation are created outside of the component https://github.com/davidhu2000/react-spinners/blob/main/src/ClimbingBoxLoader.tsx#L7-L21 so maybe that code isn't executed after the code is sent to the client |
Yeah, you're right, this could be the one of reasons. |
client-side animation stuff cannot be rendered on the server. They need to be marked as client component to work. Its not something that's fixable imo. |
For now I just force all my loaders to be client components with a fallback for server side :
ServerSideSpinner is a regular spinner animated with tailwind. Not sure this is a good approach, but it might help someone. |
Don't do this, make a separate file, add "use client" tag on top, import the spinner and immediately export it as const or default (,ur choice) and import this spinner in your pages. |
i haven't had time to work on this recently, but one potential approach would be add const [animation] = useState(createAnimation(...)) a quick test locally does seem to work, just need to update it all. Maybe hack on it in a coming weekend. i thought maybe using next dynamic could do it, but the create Aniamtion still doesn't run on the client const Loader = dynamic(() => import("react-spinners/ClimbingBoxLoader"), { ssr: false }); |
This will execute
|
Any resolution here? |
I'm adding
react-spinners
in my Next.JS app but isn't spinning.Here's my code:
The text was updated successfully, but these errors were encountered: