1
可以说我有一个区分联合,像这样:途径段区分联合分为不同的类型有和无财产
type Route = HomeRoute | ProfileRoute | BlogRoute;
type HomeRoute = {
route: '/home'
}
type ProfileRoute = {
route: '/profile/:userId',
params: {
userId: string;
}
}
type BlogRoute = {
route: '/blog/:teamId',
params: {
teamId: string;
}
}
而且我有对Route
对象进行动作的功能,有一些可选的逻辑,如果他们有PARAMS :
function processRoute(route: Route) {
if ('params' in route) {
const { params } = route; // <-- this errors
}
}
似乎没有成为一个方式(即我可以看到)来检查params
无需添加注释any
...
有没有办法做到上述不铸造任何(在参数paramsInRoute
)?
这么简单!大概应该先尝试一下:) –
对此的另外一个想法是,使用类型警卫仍然是一个断言,所以它由开发者确定'&'-ed属性在这里是正确的。 –