返回tuple,元组(数组)的话,在后面调用的时候,比如const [x,xx,xxx] = useProjectsMoal()
可以直接改名,但是是按照顺序来的,建议return的数据3个以内的用元组
如果三个以上,建议返回对象,这样在调用的时候,const {projectCreate,open,close} = useProjectsMoal()
就不能直接改名,但是顺序可以改变,因为读的是键名,可以通过冒号起别名,比如
const {projectCreate : create ,open,close} = useProjectsMoal()
export const useProjectsMoal = () => {
const [{ projectCreate }, setProjectModalOpen] = useUrlQueryParam([
'projectCreate'
])
const open = () => setProjectModalOpen({ projectCreate: true })
const close = () => setProjectModalOpen({ projectCreate: false })
/*
返回tuple,元组(数组)的话,在后面调用的时候,比如const [x,xx,xxx] = useProjectsMoal()
可以直接改名,但是是按照顺序来的,建议return的数据3个以内的用元组
如果三个以上,建议返回对象,这样在调用的时候,const {projectCreate,open,close} = useProjectsMoal()
就不能直接改名,但是顺序可以改变,因为读的是键名,可以通过冒号起别名,比如
const {projectCreate : create ,open,close} = useProjectsMoal()
*/
return [
// url上读取下来的都是字符串
projectCreate === 'true',
open,
close
] as const
而且简单数据结构的解构出来是全新的变量,不会相互影响
如果是引用类型,修改里面的是会对原数据进行修改的