SolidJS:打字稿错误说值是 'undefined' 类型,尽管检查它不是
SolidJS: Typescript error says value is of type 'undefined' despite checking that it isn't
我有一些 SolidJS 代码,例如:
{value() !== undefined && <img src={srcs[value()]} />}
其中 value
是一个信号。我在 value()
下收到 TypeScript 错误,说 Type 'undefined' cannot be used as an index type.ts(2538)
这是什么意思,没有 // @ts-ignore
我该如何解决这个问题?
Typescript 无法知道 value()
returns 每次调用的结果都是一样的。您可以对第二个 value()
使用 non-null 断言运算符
{value() !== undefined && <img src={srcs[value()!]} />}
或者您可以使用 <Show>
回调。 Show
会将 when
的值传递给回调,如果它正在显示,其类型将为 non-nullable:
<Show when={value()}>{value => <img src={srcs[value]} />}</Show>
我有一些 SolidJS 代码,例如:
{value() !== undefined && <img src={srcs[value()]} />}
其中 value
是一个信号。我在 value()
下收到 TypeScript 错误,说 Type 'undefined' cannot be used as an index type.ts(2538)
这是什么意思,没有 // @ts-ignore
我该如何解决这个问题?
Typescript 无法知道 value()
returns 每次调用的结果都是一样的。您可以对第二个 value()
{value() !== undefined && <img src={srcs[value()!]} />}
或者您可以使用 <Show>
回调。 Show
会将 when
的值传递给回调,如果它正在显示,其类型将为 non-nullable:
<Show when={value()}>{value => <img src={srcs[value]} />}</Show>