繁体   English   中英

ReferenceError:NextJS 项目中未定义 CustomEvent

[英]ReferenceError: CustomEvent is not defined in NextJS project

我收到错误: ReferenceError: CustomEvent is not defined 我知道 CustomEvent 仅在浏览器中可用(客户端),但我正在尝试使用此 function 作为事件:

const mouseEnterHandler =  () => {
  eventDispatcher('cursor', {
    label: 'test',
  })
}

onMouseEnter={mouseEnterHandler()}

export const eventCreator = (name: string, params: Record<string, any>): CustomEvent => {
  const event = new CustomEvent(name, {
    detail: params
  })

  return event
}

export const eventDispatcher = (name: string, params: Record<string, any>): CustomEvent => {
  const event: CustomEvent = eventCreator(name, params)

  document.dispatchEvent(event)

  return event
}

把它放在一个useEffect挂钩中,它就会起作用。

export default function SomePage({ props }) {
  useEffect(() => {
    window.addEventListener('test-event', (event) => {
      console.log('test-event', event);
    });

    window.dispatchEvent(new CustomEvent('test-event', { detail: { test: 'testing' } }));
  });

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM