Comments (3)
FloatingPortal
has to create and mount a new node, which means it's not available until a second render pass. I recommend using elements.floating
instead, since it'll reactively check if it exists:
const {elements} = useFloating();
useEffect(() => {
if (!elements.floating) return;
// logic...
}, [elements.floating]);
from floating-ui.
Thanks @atomiks! I must have glossed over elements
because the documentation implies that it wouldn't generally be used for effects:
The elements as set by the refs, useful for access during rendering (as opposed to inside an event handler or an effect).
However, upon reading the code I see that the elements
are actually stored in state and thus are reactive, which is exactly what I need. Thank you for pointing that out.
I guess this issue can be closed due to the technical limitation, but perhaps the documentation can be improved?
from floating-ui.
Yeah the docs should probably be updated to specify that refs
should only be used in event handlers, while elements
used in effects and during render, since it enables reactive checks.
from floating-ui.
Related Issues (20)
- popper misplaced on Y axis HOT 1
- Angular 17 - RangeError: Maximum call stack size exceeded on getComputedStyle HOT 2
- `autoUpdate` calls `updatePosition` continuously when the floating element is clipped by a parent with overflow hidden. HOT 4
- When using FloatingOverlay tabbing within a floating does not bring element into view HOT 2
- focus is visible even if keyboard is not being used HOT 2
- useDismiss not working when click on iframe elements HOT 1
- webcomponent floating UI: Panel Positioning Issue HOT 4
- Adaptive function HOT 2
- autoUpdate never settle when reference is in a scrollable div HOT 1
- The tooltip should be visible when I hover over it. HOT 1
- UnPKG version is not currently working HOT 1
- Floating UI Position Incorrect When Modal is Nested Inside Drawer Component HOT 5
- Reference error: process is not defined HOT 3
- List navigation doesn't scroll to selected item when other focusable elements are present in popover HOT 2
- Tooltip position is not updated when resizing window HOT 2
- Duplicate generated type aliases HOT 6
- isPositioned never gets updated on Safari and Firefox HOT 1
- Implicit dependency on React 18 typings HOT 1
- UseInteractionsReturn is missing HOT 1
- Regression in @floating-ui/[email protected] and return focus HOT 2
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 floating-ui.