Comments (4)
What are you trying to achieve with minHeight
?
When you set the min-height
property on your div, it ensures that the div will always have a minimum height even if its content is removed. However, the resizeObserver won't trigger onResize
event when the inner content is deleted because the div itself is still maintaining its minimum height.
Adding a border to the div might be affecting the way the browser calculates the height, potentially triggering the onResize
event correctly. This behavior can be attributed to how the browser renders elements and calculates their dimensions when a border is present.
Generally, this code:
const [heightEl, setHeightEl] = useState(0);
<ReactResizeDetector onResize={(_, height) => setHeightEl(height)}>
<div
style={{
minHeight: heightEl,
}}
/>
</ReactResizeDetector>
Is not a good practice.
Depending on what you're trying to achieve, maybe you actually want to store a heightEl
in a css-variable?
Or, just try to manually reset the heightEl
when isButtonClicked
changes
useEffect(() => {
// Manually trigger onResize when content is removed
if (!isButtonClicked) {
setHeightEl(0); // Reset the height
setTimeout(() => {
// Use a setTimeout to ensure the height change is detected
const divHeight = ref.current?.clientHeight;
if (divHeight) setHeightEl(divHeight);
}, 0);
}
}, [isButtonClicked]);
from react-resize-detector.
I've provided this test code to show my problem, but in project which I am working on, I am using min-height
to hold height of each rows in boxes (to have the same height of each row, something like in Grid).
I use ResizeDetector to check the height of elements and set it to its maximum for each row in the same line, but the problem is when content is deleted, min-height
blocks the onResize event.
Do you have any suggest how to deal with it?
from react-resize-detector.
I think you can make all rows to have the same height with plain css, either by using flex: 1 1 auto
or by using grid-auto-rows: 1fr
from react-resize-detector.
Or by doing something like align-items: stretch
, justify content: stretch
, min-height: 100%
from react-resize-detector.
Related Issues (20)
- `onFinishResize`? HOT 2
- Allow React 18 as peerDependency HOT 10
- ReactResizeDetector Component is not working with React18 HOT 1
- Wrong build folder in NPM packages 7.1.1 and 7.0.2 HOT 2
- react resize hook doesn't detect vertical resize HOT 1
- TypeError: window.ResizeObserver is not a constructor HOT 3
- Return width according to provided observerOptions HOT 4
- SourceMap loader complains "Missing source files" in the new v8 build HOT 12
- Debug `console.log` shows up in the code published to NPM HOT 4
- useResizeDetector targetRef cannot be null TS2322 HOT 5
- React errors in DEV mode HOT 12
- useResizeDetector returns width = undefined using forwardRef HOT 10
- dont'work with ReactjS scheduler
- ResizeObserver loop limit exceeded in v9.1.0 HOT 6
- (Request) pass ref to callback HOT 4
- Package not compatible with Edge Functions HOT 4
- Issue with Next.js ^14.0.2 in DEV environment HOT 5
- Best practice for using react-resize-detector v10 in class components HOT 2
- Incorrect peer dependencies HOT 6
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 react-resize-detector.