我有一些 SolidJS 代码,例如:
{value() !== undefined && <img src={srcs[value()]} />}
where value
是一个信号。我在下面收到 TypeScript 错误value()
saying Type 'undefined' cannot be used as an index type.ts(2538)
这是什么意思以及如何解决这个问题而不// @ts-ignore
?
Typescript 无法知道这一点value()
每次调用都会返回相同的结果。您可以对第二个使用非空断言运算符value()
{value() !== undefined && <img src={srcs[value()!]} />}
或者你可以使用<Show> https://www.solidjs.com/docs/latest/api#%3Cshow%3E带回调。Show
将传递的值when
,如果它显示,则传递给回调,并且其类型将不可为空:
<Show when={value()}>{value => <img src={srcs[value]} />}</Show>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)