2014-06-23 46 views
0

我正在尝试学习Reactjs,但我无法解决它。 我想添加粘贴头类到我的表使用Reactjs呈现,但我没有得到任何成功的代码/伪代码。在reactjs中使用eventlistener(JSX)

handleScroll: function(e){ 
    var header = this.root.querySelector('.header'); 
var origOffsetY = header.offsetTop; 
    window.scrollY >= origOffsetY ? header.addClass('sticky'): header.removeClass('sticky'); 
}, 

componentDidMount : function(){ 
window.addEventListener('handleScroll',this.handleScroll); 
}, 

我试图用这个JavaScript函数:

<script> 
var header = document.querySelector('.header'); 
var origOffsetY = header.offsetTop; 

function onScroll(e) { 
    window.scrollY >= origOffsetY ? header.classList.add('sticky') : 
            header.classList.remove('sticky'); 
} 

document.addEventListener('scroll', onScroll); 
</script> 

但我没有得到任何的成功。有没有更简单的方法在Reactjs中实现JavaScript函数?

回答

3

在行

window.addEventListener('handleScroll', this.handleScroll); 

我猜你的意思是不是:

window.addEventListener('scroll', this.handleScroll); 
+0

是,我也看到这个错误在控制台: 无法读取的未定义的属性“querySelector”。 – deepseas

+0

什么是'this.root'?当你试图在'handleScroll'中访问它时,它没有被定义。 –

+0

我看到这个错误,当我向下滚动,所以我认为该功能是在滚动期间触发的,但我可能必须找出这个对象。必须是一些语法错误。感谢您的回应。 – deepseas