我使用3.7.2:我有三个组件:“菜单组件”、“登录用户”和“登录”。
在“菜单组件”中,我有一个"user“属性,可以定义该属性或null:
interface Props {
user: UserIF | null;
}“菜单组件”检查“用户”属性是否已定义。如果未定义它(null),则菜单重定向到组件"Login User“,否则它将重定向到”登录“组件。
现在,我想将组件中的类型文本定义定义如下:
“登录用户”:
interface Props {
user: UserIF | null;
}“登录”
interface Props {
user: UserIF;
}类型记录现在抱怨用户也可以是“登录”组件中的Null。但类型记录不知道变量用户在“登录”组件中不能为空。
如何告诉类型记录,我在“登录”组件中只有一个定义的用户变量?
发布于 2019-11-26 13:08:28
您需要有两个分开的接口:
interface NotLoggedProps {
user: null;
}
interface LoggedProps {
user: UserIF;
}
type MenuProps = NotLoggedProps | LoggedProps; // at Menu level user can be logged or not并相应地在不同的组件中使用。
https://stackoverflow.com/questions/59051500
复制相似问题