2016-09-14 98 views
0

我是ReactJS的新手,所以一直在使用它的一些网站上进行实验。现在,我试图根据页面URL对API进行AJAX调用。问题是,无论何时单击链接,我的代码都会中断,因为它没有检测到页面更改。我目前的做法是监听所有链接上的点击事件,并搭载我在页面加载时看到的两个选择器(pageLoading - loading和pageLoading - 完成)。有没有更好的方法来检测单页面应用程序的页面更改?由于这些是实验,所以我没有访问服务器的情况参考。以下是我目前的代码方法。检测ReactJS页面变化

//When any link on the page is clicked 
document.body.onclick = function(e){ 
    e = e || event; 
    var from = findParent('a',e.target || e.srcElement); 
    if (from){ 
    //check if pageLoading--finished ran then make an AJAX request 
    console.log(__reactContent['url']); 
    } 
} 
//find first parent with tagName [tagname] 
function findParent(tagname,el){ 
    if ((el.nodeName || el.tagName).toLowerCase()===tagname.toLowerCase()){ 
    return el; 
    } 
    while (el = el.parentNode){ 
    if ((el.nodeName || el.tagName).toLowerCase()===tagname.toLowerCase()){ 
     return el; 
    } 
    } 
    return null; 
} 
+0

你可以分享你所面对的问题,你的分量?这看起来像香草的JavaScript。 –

回答