Typescript -如何强制空对象的回退?

8yparm6h  于 2023-04-22  发布在  TypeScript
关注(0)|答案(1)|浏览(137)

我有下面的代码

interface Data {
 news: News
}

由于数据是从API中获取的,因此最初它将是undefined,加载后将获取结果。
因此,下面的代码将在运行时中断应用程序。
App.tsx

const { news } = data;

因为

TypeError: Cannot read property 'news' of undefined

直到我把代码更新到

const { news } = data??{};

现在的问题是,是否有可能强制执行模式const { news } = data??{};,例如通过Eslint,这样我就可以防止在运行时发生错误?或者有其他方法来处理它?
我想这样做的原因是,因为它发生在部署之后,所以我想检查是否有一种方法可以防止它再次发生

kx5bkwkv

kx5bkwkv1#

如果const { news } = data;中的dataData | undefined类型,那么TypeScript将无法编译,从而防止运行时错误,而const { news } = data??{};将编译。我相信这是在TypeScript中强制执行它的最佳方法。

相关问题