首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类型:相同变量的不同类中的不同类型

类型:相同变量的不同类中的不同类型
EN

Stack Overflow用户
提问于 2019-11-26 12:56:45
回答 1查看 81关注 0票数 0

我使用3.7.2:我有三个组件:“菜单组件”、“登录用户”和“登录”。

在“菜单组件”中,我有一个"user“属性,可以定义该属性或null:

代码语言:javascript
运行
复制
interface Props {
    user: UserIF | null;
}

“菜单组件”检查“用户”属性是否已定义。如果未定义它(null),则菜单重定向到组件"Login User“,否则它将重定向到”登录“组件。

现在,我想将组件中的类型文本定义定义如下:

“登录用户”:

代码语言:javascript
运行
复制
interface Props {
    user: UserIF | null;
}

“登录”

代码语言:javascript
运行
复制
interface Props {
    user: UserIF;
}

类型记录现在抱怨用户也可以是“登录”组件中的Null。但类型记录不知道变量用户在“登录”组件中不能为空。

如何告诉类型记录,我在“登录”组件中只有一个定义的用户变量?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-26 13:08:28

您需要有两个分开的接口:

代码语言:javascript
运行
复制
interface NotLoggedProps {
    user: null;
}

interface LoggedProps {
    user: UserIF;
}

type MenuProps = NotLoggedProps | LoggedProps; // at Menu level user can be logged or not

并相应地在不同的组件中使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59051500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档