反应路由器 browserHistory.listen 不听

react-router browserHistory.listen unlisten

如何取消收听该路线? 我的函数 "execute" 保持 运行 一个我正在点击链接

const unlisten = browserHistory.listen(unlis);

函数 handleUrl(位置){ const newPath = location.pathname; 如果 (!newPath.includes(${id}))) { 执行(); 不听(window.location); } 否则不听(window.location); browserHistory.listen(handleUrl); handleUrl(window.location);

我试过:

  browserHistory.push(`/search/${id}');

  const unlisten = browserHistory.listen(location);

  function handleUrl(location) {
    const newPath = location.pathname;
    if (!newPath.includes(`${id})`) {
      execute();
      unlisten(window.location);
    else unliste;
  browserHistory.listen(handleUrl);
  handleUrl(window.location);

但运气不好

了解如何修复它

  let unlisten;
  function handleUrl(location) {
    const newPath = location.pathname;
    if (!newPath.includes(`${id})`)) {
      execute();
      unlisten();
    }
  unlisten = browserHistory.listen(handleUrl);
  handleUrl(window.location);
}