WIP Refactor useMotionRef for Improved Lifecycle Mgmt #2283
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Enhanced the
useMotionRef
hook in the following ways:Introduced
useEffect
to ensure the systematic unmounting ofvisualElement
during the component's unmount phase. This change provides cleaner management of resources, especially in scenarios involving asynchronous operations like React.lazy and Suspense.Streamlined the lifecycle management of
visualState
andvisualElement
based on the presence of theinstance
variable (representing a DOM node). This modification aims to offer more robust handling in contexts where promises from React.lazy might render certain child components invalid.Detailed documentation comments have been added to highlight the importance and rationale behind the changes. These comments elucidate the potential pitfalls and provide clearer insights into the logic's behavior, especially concerning asynchronous component loading.