Skip to content

Commit b8e256c

Browse files
authored
Merge pull request #4 from jchonde/master
fix(render): prevents recreation of ref function on every render
2 parents 94b5572 + 9145fba commit b8e256c

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

lib/ScrollLock.js

Lines changed: 7 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/ScrollLock.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ScrollLock.jsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ class ScrollLock extends Component {
99
this.scrollingElement.removeEventListener('wheel', this.onScrollHandler, false);
1010
}
1111

12+
setScrollingElement = (r) => {
13+
this.scrollingElement = r ? r.firstChild : r;
14+
};
15+
1216
onScrollHandler = (e) => {
1317
const elem = this.scrollingElement;
1418
const { scrollTop, scrollHeight, clientHeight } = elem;
@@ -34,7 +38,7 @@ class ScrollLock extends Component {
3438

3539
render() {
3640
return (
37-
<div ref={r => this.scrollingElement = r.firstChild}>
41+
<div ref={this.setScrollingElement}>
3842
{this.props.children}
3943
</div>
4044
);

0 commit comments

Comments
 (0)