You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Give a clear and concise description of what the bug is.
3. IMPORTANT: Provide a CodeSandbox reproduction of the bug
The docs site seems to be closed source so I can't. However, this example can be found here
A CodeSandbox minimal reproduction will allow us to quickly follow the reproduction steps. Without one, this bug report won't be accepted.
Different versions of Framer Motion are compatible with different versions of React.
React 19: 12.0.0-alpha.0 or higher
React 18: 7.0.0 to 11.x
React 17: 6.x or lower
height: "auto" is jumping
Animating to/from auto requires measuring the DOM. There's no perfect way to do this and if you have also applied padding to the same element, these measurements might be wrong.
The recommended solution is to move padding to a child element. See this issue for the full discussion.
Preact isn't working
Framer Motion isn't compatible with Preact.
AnimatePresence isn't working
Have all of its immediate children got a unique key prop that remains the same for that component every render?
// Bad: The index could be given to a different component if the order of items changes<AnimatePresence>{items.map((item,index)=>(<Componentkey={index}/>))}</AnimatePresence>
// Good: The item ID is unique to each component<AnimatePresence>{items.map((item,index)=>(<Componentkey={item.id}/>))}</AnimatePresence>
Is the AnimatePresence correctly outside of the controlling conditional? AnimatePresence must be rendered whenever you expect an exit animation to run - it can't do so if it's unmounted!
// Bad: AnimatePresence is unmounted - exit animations won't run{isVisible&&(<AnimatePresence><Component/></AnimatePresence>)}
// Good: Only the children are unmounted - exit animations will run<AnimatePresence>{isVisible&&<Component/>}</AnimatePresence>
The text was updated successfully, but these errors were encountered:
1. Read the FAQs 👇
2. Describe the bug
It's more of a mistake in the example than a typo. To add a root to useInView, the example given was:
But to make this work correctly, you're meant to pass the container ref as a second argument, like this:
Give a clear and concise description of what the bug is.
3. IMPORTANT: Provide a CodeSandbox reproduction of the bug
The docs site seems to be closed source so I can't. However, this example can be found here
A CodeSandbox minimal reproduction will allow us to quickly follow the reproduction steps. Without one, this bug report won't be accepted.
4. Steps to reproduce
Steps to reproduce the behavior:
5. Expected behavior
The correct implementation should be:
A clear and concise description of what you expected to happen.
6. Video or screenshots
If applicable, add a video or screenshots to help explain the bug.
7. Environment details
If applicable, let us know which OS, browser, browser version etc you're using.
FAQs
React Server Components
"use client"
errorIf you're importing
motion
orm
into a React Server Component environment, ensure you're importing fromframer-motion/client
instead offramer-motion
.Framer Motion won't install
Different versions of Framer Motion are compatible with different versions of React.
React 19:
12.0.0-alpha.0
or higherReact 18:
7.0.0
to11.x
React 17:
6.x
or lowerheight: "auto"
is jumpingAnimating to/from
auto
requires measuring the DOM. There's no perfect way to do this and if you have also applied padding to the same element, these measurements might be wrong.The recommended solution is to move padding to a child element. See this issue for the full discussion.
Preact isn't working
Framer Motion isn't compatible with Preact.
AnimatePresence
isn't workingHave all of its immediate children got a unique
key
prop that remains the same for that component every render?Is the
AnimatePresence
correctly outside of the controlling conditional?AnimatePresence
must be rendered whenever you expect anexit
animation to run - it can't do so if it's unmounted!The text was updated successfully, but these errors were encountered: