型が重ならない値どうしを === で比べると出ます。値のスペルミスで起こりがちです。
出るコード
const status: "on" | "off" = "on";
if (status === "onn") { // "onn" はありえない値
}
エラーメッセージ
error TS2367: This comparison appears to be unintentional because the types '"on" | "off"' and '"onn"' have no overlap.
直し方
比較する値を、その型に存在する候補("on" か "off")にします。スペルミスを疑います。