๐ React ResizeObserver wrapper with render-prop and batch collection support.
See the code Part of the Ant Design ecosystem.
๐ React ResizeObserver wrapper with render-prop and batch collection support.
English | ็ฎไฝไธญๆ
ResizeObserver.Collection.npm install @rc-component/resize-observer
import ResizeObserver from '@rc-component/resize-observer';
export default () => (
<ResizeObserver
onResize={(size, element) => {
console.log(size.width, size.height, element);
}}
>
<textarea />
</ResizeObserver>
);
import ResizeObserver from '@rc-component/resize-observer';
export default () => (
<ResizeObserver.Collection
onBatchResize={infoList => {
console.log(infoList.map(({ data, size }) => [data, size.width]));
}}
>
<ResizeObserver data="left">
<div>Left</div>
</ResizeObserver>
<ResizeObserver data="right">
<div>Right</div>
</ResizeObserver>
</ResizeObserver.Collection>
);
Online preview: https://resize-observer.react-component.vercel.app/
Run the local dumi site:
npm install
npm start
Then open http://localhost:8000.
| Name | Type | Default | Description |
|---|---|---|---|
children | ReactNode | (ref: React.RefObject<Element>) => ReactElement | - | Element to observe, or a render function receiving the observer ref. |
data | any | - | Extra payload passed to ResizeObserver.Collection callbacks. |
disabled | boolean | false | Disable resize observation. |
onResize | (size: SizeInfo, element: HTMLElement) => void | - | Triggered when the observed element size changes. |
| Name | Type | Description |
|---|---|---|
height | number | Floored bounding-box height. |
offsetHeight | number | Element offset height, normalized when it matches the rounded bounding-box height. |
offsetWidth | number | Element offset width, normalized when it matches the rounded bounding-box width. |
width | number | Floored bounding-box width. |
| Name | Type | Default | Description |
|---|---|---|---|
children | ReactNode | - | Observers to collect. |
onBatchResize | (resizeInfo: ResizeInfo[]) => void | - | Triggered once per microtask with all collected child resize events. |
npm install
npm start
npm test
npm run tsc
npm run compile
npm run build
The dumi site runs at http://localhost:8000 by default.
npm run prepublishOnly
The release flow is handled by @rc-component/np through the rc-np command after the package build.
@rc-component/resize-observer is released under the MIT license.
Overall
Maintained
Code review
Latest release
Releases this year
๐ React ResizeObserver wrapper with render-prop and batch collection support.
See the code Part of the Ant Design ecosystem.
๐ React ResizeObserver wrapper with render-prop and batch collection support.
English | ็ฎไฝไธญๆ
ResizeObserver.Collection.npm install @rc-component/resize-observer
import ResizeObserver from '@rc-component/resize-observer';
export default () => (
<ResizeObserver
onResize={(size, element) => {
console.log(size.width, size.height, element);
}}
>
<textarea />
</ResizeObserver>
);
import ResizeObserver from '@rc-component/resize-observer';
export default () => (
<ResizeObserver.Collection
onBatchResize={infoList => {
console.log(infoList.map(({ data, size }) => [data, size.width]));
}}
>
<ResizeObserver data="left">
<div>Left</div>
</ResizeObserver>
<ResizeObserver data="right">
<div>Right</div>
</ResizeObserver>
</ResizeObserver.Collection>
);
Online preview: https://resize-observer.react-component.vercel.app/
Run the local dumi site:
npm install
npm start
Then open http://localhost:8000.
| Name | Type | Default | Description |
|---|---|---|---|
children | ReactNode | (ref: React.RefObject<Element>) => ReactElement | - | Element to observe, or a render function receiving the observer ref. |
data | any | - | Extra payload passed to ResizeObserver.Collection callbacks. |
disabled | boolean | false | Disable resize observation. |
onResize | (size: SizeInfo, element: HTMLElement) => void | - | Triggered when the observed element size changes. |
| Name | Type | Description |
|---|---|---|
height | number | Floored bounding-box height. |
offsetHeight | number | Element offset height, normalized when it matches the rounded bounding-box height. |
offsetWidth | number | Element offset width, normalized when it matches the rounded bounding-box width. |
width | number | Floored bounding-box width. |
| Name | Type | Default | Description |
|---|---|---|---|
children | ReactNode | - | Observers to collect. |
onBatchResize | (resizeInfo: ResizeInfo[]) => void | - | Triggered once per microtask with all collected child resize events. |
npm install
npm start
npm test
npm run tsc
npm run compile
npm run build
The dumi site runs at http://localhost:8000 by default.
npm run prepublishOnly
The release flow is handled by @rc-component/np through the rc-np command after the package build.
@rc-component/resize-observer is released under the MIT license.
Overall
Maintained
Code review
Latest release
Releases this year