【发布时间】:2018-08-24 13:38:27
【问题描述】:
当您不了解 React 方式时,曾经简单的事情变得相当复杂。
我正在尝试创建一个组件,使其在到达页面顶部时起到粘性页眉或页脚的作用。
目前我很满足于添加以下内容:
componentDidMount() {
window.addEventListener('scroll', this.onScroll, false);
}
componentWillUnmount() {
window.removeEventListener('scroll', this.onScroll, false);
}
但是,对于如何获得样式组件的滚动顶部位置,我遇到了困难。所以假设我有一个名为Container 的样式组件,它输出了一个表单,我通常只添加一个数据属性并执行以下操作:
const container = document.getElementbyTag("data-sticky-container")
const position = container.offsetTop
我将如何在 React 中执行此操作?
更新
现在使用ref。我遇到了一个未定义电流的问题:
constructor(props) {
super(props);
this.optionBox = React.createRef();
}
componentDidMount() {
window.addEventListener('scroll', this.onScroll, false);
}
componentWillUnmount() {
window.removeEventListener('scroll', this.onScroll, false);
}
onScroll() {
console.log(this.optionBox.current.offsetTop);
}
【问题讨论】:
标签: javascript css reactjs