【问题标题】:This condition will always return false since the types Light and Dark have no overlap此条件将始终返回 false,因为 Light 和 Dark 类型没有重叠
【发布时间】:2021-05-01 01:41:35
【问题描述】:

我正在使用 Visual Studio 2019 处理 PuruVJ/macos-web 并收到此错误:

错误 TS2367 (TS) 此条件将始终返回 false,因为类型为 LightDark

我尝试过使用else if,但这给了我同样的错误。

代码:https://github.com/MrHallway0/macos-web/commit/2fc6aa0beb8b2f1ff66b232ac38cf42b76920032#diff-beb41818bec1694e5b11a2705c90e118951c9d3214b9446dd06f22152943be4d

【问题讨论】:

标签: javascript node.js


【解决方案1】:

在您的文件中,在 第 11 行,您将 DisplayMode 声明为常量变量并将其设置为等于 Light。这将防止将值更改为暗以作为条件语句进行测试。

const DisplayMode = 'Light';

如果这条线应该告诉它是亮模式还是暗模式,请使用这样的三元组:

const darkModeActive = window.matchMedia('(prefers-color-scheme: dark)').matches;
const DisplayMode = darkModeActive ? 'Dark' : 'Light';

第一行将检查用户的系统,看看他们当前是否启用了暗模式。

【讨论】:

    猜你喜欢
    • 2020-12-11
    • 2019-07-03
    • 2020-01-05
    • 2021-09-16
    • 2023-04-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多