gpt4 book ai didi

reactjs - hashChange 的事件监听器

转载 作者:行者123 更新时间:2023-12-02 17:22:15 26 4
gpt4 key购买 nike

我正在尝试在 ReactJS 中为我​​的页面添加一个事件监听器。我已将它添加到 componentDidMount()。但是 仅在初始页面加载时触发。

本地址栏发生变化时,如何让它触发。

componentDidMount:function(){

window.addEventListener("hashchange", console.log('hashchange1'));
$(window).bind("hashchange", console.log('$ - hashchange'));
window.onhashchange = console.log('hashchange3');
ReactDOM.findDOMNode(this).addEventListener('hashChange',console.log('ReactDOM - hashchange'));
},

我尝试了几种不同的方法让它工作,但它们都只在第一次加载时工作。我做错了什么?

谢谢。

最佳答案

您只是在每种情况下执行 console.log,并将其返回值添加为监听器。您需要传递一个函数作为事件监听器,例如:

window.addEventListener("hashchange", e => console.log('hashchange1', window.location.hash ));

https://jsfiddle.net/ku6okrp2/

编辑以使用 ES5 使其看起来更明显:

window.addEventListener("hashchange", function(e){ 
console.log('hashchange1', window.location.hash )
});

关于reactjs - hashChange 的事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41772708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com