typescript - 使常量值断言其逻辑
问题描述
有没有办法在其定义上断言变量逻辑?
例如:
import React from 'react'
type TDataType = {
my?: {
very?: {
complex?: {
structure: boolean;
}
}
}
}
const data: TDataType = {
my: {
very: {
complex: {
structure: true
}
}
}
}
function render() {
const hasStructure = data && data.my && data.my.very && data.my.very.complex && data.my.very.complex.structure;
return (
<div>
{hasStructure && (
<div>{data.my.very.complex.structure}</div>
)}
</div>
)
}
Typescript 会抱怨路径data.my.very.complex
可能未定义——但上面的变量应该足以测试整个路径。
有没有办法写一个助手,也许使用asserts
,来避免这种情况?所以我不必写:
<div>{data!.my!.very!.complex!.structure}</div>
解决方案
推荐阅读
- azure - 如何在 IoT 中心路由中添加多个条件 - 查询字符串
- python - 如何将 picam 与 ctypes 一起使用?
- javascript - Firebase 5 AngularFire2 5:在数据库中查找密钥
- android - 在 ConstraintLayout 中使用链时,视图宽度变为零
- c++ - 任务之间的共享数据 - mpi
- regex - 使用 wp_rewrite 规则获取 id
- php - 使用 PHP 和 mysql 将大数据导入到具有外键的多个表中
- excel-formula - 单元格公式中的 Excel,管理的调查数量
- c# - 以编程方式下载 Azure 文件共享文档
- c# - 使用 MVP 从 Presenter 更新 View 组件的更好方法