Component-wrapper to determine and report children elements height
npm install --save react react-height
Don't forget to manually install peer dependencies (react
) if you use npm@3.
bower install --save https://unpkg.com/react-height/bower.zip
or in bower.json
{
"dependencies": {
"react-height": "https://unpkg.com/react-height/bower.zip"
}
}
then include as
<script src="bower_components/react/react.js"></script>
<script src="bower_components/react-height/build/react-height.js"></script>
<script src="https://unpkg.com/react/dist/react.js"></script>
<script src="https://unpkg.com/react-height/build/react-height.js"></script>
(Module exposed as `ReactHeight`)
http://nkbt.github.io/react-height/example
http://codepen.io/nkbt/pen/NGzgGb
<ReactHeight onHeightReady={height => console.log(height)}>
<div>Random content</div>
</ReactHeight>
Callback, invoked when height is measured (and when it is changed).
One or multiple children with static, variable or dynamic height.
<ReactHeight onHeightReady={height => console.log(height)}>
<p>Paragraph of text</p>
<p>Another paragraph is also OK</p>
<p>Images and any other content are ok too</p>
<img src="nyancat.gif">
</ReactHeight>
hidden
: PropTypes.bool (default: false)
ReactHeight can render to null as soon as height is measured.
<ReactHeight hidden={true} onHeightReady={height => console.log(height)}>
<div>Will be removed from the DOM when height is measured</div>
</ReactHeight>
All other props are applied to a container that is being measured. So it is possible to pass style
or className
, for example.
<ReactHeight onHeightReady={height => console.log(height)}
style={{width: 200, border: '1px solid red'}}
className="myComponent">
<div>
Wrapper around this element will have red border, 200px width
and `class="myComponent"`
</div>
</ReactHeight>
Currently is being developed and tested with the latest stable Node 5
on OSX
and Windows
.
Should be ok with Node 4, but not guaranteed.
To run example covering all ReactHeight
features, use npm start
, which will compile src/example/Example.js
git clone [email protected]:nkbt/react-height.git
cd react-height
npm install
npm start
# then
open http://localhost:8080
npm test
# to run tests in watch mode for development
npm run test:dev
# to generate test coverage (./reports/coverage)
npm run test:cov
MIT