After upgrading to Svelte 5, I tried the new {#snippet ...}
. I am getting this type errors, but in the svelte docs it is like they do not exist for them.
{#snippet NavLink(href, text)}
<a class="text-white" {href}>{text}</a>
{/snippet}
Parameter href implicitly has an any
type.
We can fix this issue provisionally by doing this (but I don't like it):
{#snippet NavLink(/** @type {any} */ href)}
<a class="text-white" {href}>hello</a>
{/snippet}
Is there a better way?
You probably have checkJs
enabled in your TypeScript config.
There are various options:
strict
/noImplicitAny
option.<script lang="ts">
in the component to allow TS syntax, then you can type the snippet parameters more easily:
{#snippet NavLink(href: string, text: string)}
<a class="text-white" {href}>{text}</a>
{/snippet}