我使用枚举类型设置页面的访问代码:
export enum AdminAccess {
None = 0,
Dashboard = 1 << 0,
ModifyUserInfo = 1 << 1,
Publish = 1 << 2
}
而且我希望路由采用AdminAccess类型的参数,这样它只能在上述值之间选择:
export interface AuthRouteProps {
children: JSX.Element;
path: string;
pageIdentity: AdminAccess;
exact?: boolean;
}
但是类型检查没有按我预期的那样进行,只要输入数字,检查就会通过。但是我想要的是您只能输入AdminAccess.None
,AdminAccess.Dashboard
等。>
<AuthRoute path={"somepath"} pageIdentity={AdminAccess.ModifyUserInfo} // pass check children={<ModifyUserInfoPage />} /> <AuthRoute path={"somepath"} pageIdentity={897654987} // also pass check children={<ModifyUserInfoPage />} />
我该怎么做?
我使用枚举类型来设置页面的访问代码:export枚举AdminAccess {无= 0,仪表板= 1 << 0,ModifyUserInfo = 1 << 1,Publish = 1 << 2},我想要.. 。
此问题可能是"What is the significance of enum
in TypeScript"的副本。将答案翻译成您的问题会产生如下结果: