useMousePosition函数会有 Missing return type on function.警告,请问:如果要写函数的返回类型,要怎么写

来源:3-12 vue3 模块化妙用- 鼠标追踪器

ChelFannie

2022-01-07

import { ref, onMounted, onUnmounted } from ‘vue’

function useMousePosition () {
const x = ref(0)
const y = ref(0)
const updateMouse = (e: MouseEvent) => {
x.value = e.pageX
y.value = e.pageY
}
onMounted(() => {
document.addEventListener(‘click’, updateMouse)
})
onUnmounted(() => {
document.addEventListener(‘click’, updateMouse)
})
return { x, y }
}

export default useMousePosition

useMousePosition会有警告,要怎么定义这个函数的返回类型
图片描述

写回答

1回答

张轩

2022-01-08

同学你好 ts 针对函数是由自动推论的 所以这条规则可以关掉 在 eslintrc 中设置一下,

将鼠标放上去就有具体的类型 请看截图:

//img.mukewang.com/szimg/61d8f31d09d1418614380688.jpg

或者你可以按照提示,写成对应的类型,也就是

import { Ref } from 'vue'
interface ReturnType {
    x: Ref<number>;
    y: Ref<number>;
}
function useMousePostion(): ReturnType {
}

我认为这样做是没有必要的

0
3
雨花凉
回复
爱前端的小鑫
You can also configure ESLint to ignore this rule if you don’t want to enforce it in your code. To do this, you can add the following to your .eslintrc.js file: { "rules": { "@typescript-eslint/explicit-function-return-type": "off" } }
2023-04-20
共3条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程