在Ant design pro的用户登录文件 src/models/login.ts中看到一条代码 let { redirect } = params as { redirect: string };
其中
const params = getPageQuery();
export const getPageQuery = () => parse(window.location.href.split('?')[1]);
不太理解第一条代码什么意义,想请假大家!
在Ant design pro的用户登录文件 src/models/login.ts中看到一条代码 let { redirect } = params as { redirect: string };
其中
const params = getPageQuery();
export const getPageQuery = () => parse(window.location.href.split('?')[1]);
不太理解第一条代码什么意义,想请假大家!
let { redirect } = params;
这是从params
中取出redirect
的属性和value
as { redirect: string }
as可以理解成当作的意思,就是把params当作{ redirect: string }
只不过这里规定了redirect
是string
类型。
这是一种约束类型的方式,避免你把redirect
当成number/boolean
等其他类型来用。
3 回答1.9k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
as 是ts里定义类型的意思
let { redirect } = params as { redirect: string };
这里的意思是说params的类型是个object 并且里面有一个redirect的属性是string类型的
let { redirect } = params;
前半段是解构赋值取params.redirectparams as { redirect: string };
后半段是给params定义类型