前言 背景
最近hooks看得比较多,有一个点很有趣,在这里记录一下。
我们都知道都运用过es6的对象的结构赋值吧。今天讲的是es6结构赋值当中的别名,也就是重命名。
下面举个vue3hook当中的hooks例子,大家很快就能知道其实很多地方都用到了这个:
// 自定义加法hook
javascript
// ./useAdd.js
import { ref, watch } from 'vue'
const useAdd = ({ num1, num2 }) => {
const totalNum = ref(0)
watch([num1, num2], ([num1, num2]) => {
addFn(num1, num2)
})
const addFn = (num1, num2) => {
totalNum.value = num1 + num2
}
return {
totalNum,
addFn
}
}
export default useAdd
csharp
import { ref } = 'vue'
import useAdd from './useAdd.js'
const num1 = ref(0)
const num2 = ref(1)
const { totalNum:addNum, addFn } = useAdd({ num1, num2 })
addFn(num1.value, num2.value)
这个例子当中的totalNum
就是重命名了addNum
。
es6解构赋值重命名
有时候数据解构返回来的属性名可能不是我们想要的取名方式,或者重名了,或者另外取一个名字才更贴合当下的开发需求,所以我们不一定想要使用数据结构回来的属性当成我们最终的变量名称。那么就另外取名设置名字。
arduino
const app = {
tt: '张二蛋',
fb: '二蛋张'
}
const { tt, fb } = app
我们可以在解构的时候重命名这个tweet
、fb
这些属性名。
yaml
const { tt: twitter, fb: facebook } = app
在上面例子中,通过使用冒号(:)将属性或变量名为新的名称。
总结:使用别名或者重命名可以再解构赋值过程中,为属性或变量指定更有意义的名称。还有就是在hooks中当多个hooks在一个vue页面使用,不同的hooks返回的变量又存在同名这种情况,就可以用别名避免重名。
解构赋值的用法和别名这几点在hooks中很常见。
祝您开发愉快!
☎️ 希望对大家有所帮助,如有错误,望不吝赐教,欢迎评论区留言互相学习。