- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 Typescript 添加到我的 React 项目中:
componentDidMount() {
document.addEventListener('mousemove', this.handleMouseMove);
}
private handleMouseMove = (e: React.MouseEvent<HTMLElement>) => {
appStore.updateSideWidth(e.pageX);
}
但是我在this.handleMouseMove
下得到了以下错误:
[ts]
Argument of type '(e: MouseEvent<HTMLElement>) => void' is not assignable to parameter of type 'EventListenerOrEventListenerObject'.
Type '(e: MouseEvent<HTMLElement>) => void' is not assignable to type
'EventListenerObject'.
Property 'handleEvent' is missing in type '(e: MouseEvent<HTMLElement>)
=> void'.
我试过:
1) @ts-ignore 它有效,但我不愿意这样做,因为这就是我使用 Typescript 的原因2)使用类似的东西:
private handleMouseMove = (e: Event) => {
appStore.updateSideWidth((e as React.MouseEvent<HTMLElement>).pageX);
}
但出现错误提示,由于缺少 altKey
,无法将 Event 转换为 MouseEvent 类型。
感谢您的帮助!
最佳答案
事件 e
将不是 React
事件,因为您正在向 document
添加事件监听器。所以 e
的类型将只是 MouseEvent
。
尝试:
componentDidMount() {
document.addEventListener('mousemove', this.handleMouseMove);
}
private handleMouseMove = (e: MouseEvent) => {
appStore.updateSideWidth(e.pageX);
}
关于reactjs - react 和 typescript : Argument of type is not assignable to parameter of type 'EventListenerOrEventListenerObject' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50342816/
我已经阅读并尝试了 Argument of type '(e: CustomEvent) => void' is not assignable to parameter of type 'EventL
我有这个自定义事件设置,它可以与 TypeScript 2.5.3 一起使用,但是当我更新到 2.6.1 时出现错误 window.addEventListener('OnRewards', (e:
我正在尝试将 Typescript 添加到我的 React 项目中: componentDidMount() { document.addEventListener('mousemove', th
我正在尝试将 Typescript 添加到我的 React 项目中: componentDidMount() { document.addEventListener('mousemove', th
我是一名优秀的程序员,十分优秀!